command-line access to (some) Google services


google [picasa|blogger|youtube|docs|contacts|calendar|finance] TASK [options]


This program provides command-line access to (some) google services via their gdata APIs. Called without a service name, it starts an interactive session.

NOTE: GoogleCL will interpret arguments as required options in the order they appear in the descriptions below, excluding options set in the configuration file and non-primary terms in parenthesized OR groups. For example:

$ google picasa get my_album .

is interpreted as "google picasa get --title=my_album --dest=.

$ google contacts list john

is interpreted as "$ google contacts list --fields=<config file def> --title=john --delimiter=," (only true if you have not removed the default definition in the config file!)

$ google docs get my_doc .

is interpreted as "$ google docs get --title=my_doc --dest=. (folder is NOT set, since the title option is satisfied first.)

Available tasks for service picasa: ’get’, ’create’, ’list’, ’list-albums’, ’tag’, ’post’, ’delete’

get: Download albums

Requires: title AND dest Optional: owner, format, photo

create: Create an album

Requires: title Optional: src, date, summary, tags, access

list: List photos

Requires: fields AND delimiter Optional: title, query, owner, photo

list-albums: List albums

Requires: fields AND delimiter Optional: title, owner

tag: Tag/caption photos

Requires: (title OR query) AND (tags OR summary) Optional: owner, photo

post: Post photos to an album

Requires: title AND src Optional: tags, owner, photo, summary

delete: Delete photos or albums

Requires: (title OR query) Optional: photo

Available tasks for service blogger: ’post’, ’tag’, ’list’, ’delete’

post: Post content.

Requires: src AND blog Optional: title, tags, access

tag: Label posts

Requires: blog AND title AND tags

list: List posts in a blog

Requires: fields AND blog AND delimiter Optional: title, owner

delete: Delete a post.

Requires: blog AND title

Available tasks for service youtube: ’post’, ’tag’, ’list’, ’delete’

post: Post a video.

Requires: src AND category AND devkey Optional: title, summary, tags, access

tag: Add tags to a video and/or change its category.

Requires: title AND (tags OR category) AND devkey

list: List videos by user.

Requires: fields AND delimiter Optional: title, owner

delete: Delete videos.

Requires: title AND devkey

Available tasks for service docs: ’edit’, ’delete’, ’list’, ’upload’, ’get’

edit: Edit a document

Requires: title Optional: format, editor, folder

delete: Delete documents

Requires: title Optional: folder

list: List documents

Requires: fields AND delimiter Optional: title, folder

upload: Upload a document

Requires: src Optional: title, folder, format

get: Download a document

Requires: (title OR folder) AND dest Optional: format

Available tasks for service contacts: ’list’, ’list-groups’, ’add’, ’add-groups’, ’delete-groups’, ’delete’

list: List contacts

Requires: fields AND title AND delimiter

list-groups: List contact groups

Requires: title

add: Add contacts

Requires: src

add-groups: Add contact group(s)

Requires: title

delete-groups: Delete contact group(s)

Requires: title

delete: Delete contacts

Requires: title

Available tasks for service calendar: ’add’, ’list’, ’today’, ’delete’

add: Add event to a calendar

Requires: src Optional: cal

list: List events on a calendar

Requires: fields AND delimiter Optional: title, query, date, cal

today: List events for the next 24 hours

Requires: fields AND delimiter Optional: title, query, cal

delete: Delete event from a calendar

Requires: (title OR query) Optional: date, cal

Available tasks for service finance: ’list-txn’, ’delete-pos’, ’create-pos’, ’delete-txn’, ’create’, ’create-txn’, ’list’, ’list-pos’, ’delete’

list-txn: List transactions

Requires: title AND ticker

delete-pos: Delete positions

Requires: title Optional: ticker

create-pos: Create position

Requires: title AND ticker

delete-txn: Delete transactions

Requires: title AND ticker Optional: txnid

create: Create a portfolio

Requires: title AND currency

create-txn: Create transaction

Requires: title AND ticker AND ttype AND shares AND price Optional: shares, price, date, commission, currency, notes

list: List portfolios

Requires: none Optional: fields

list-pos: List positions

Requires: title Optional: fields

delete: Delete portfolios

Requires: title



show program’s version number and exit

-h, --help

show this help message and exit


Specify access/visibility level of an upload


Blogger only - specify a blog other than your primary.


Calendar only - specify a calendar other than your primary.

-c CATEGORY, --category=CATEGORY

YouTube only - specify video categories as a commaseparated list, e.g. "Film, Travel"


Finance only - specify commission for transaction


Specify location of config file.


Finance only - specify currency for portfolio


YouTube only - specify developer tags as a commaseparated list.


YouTube only - specify a developer key

-d DATE, --date=DATE

Calendar only - date of the event to add/look for. Can also specify a range with a comma. Picasa only - sets the date of the album Finance only - transaction creation date


Enable all debugging output, including HTTP data


Specify a delimiter for the output of the list task.


Destination. Typically, where to save data being downloaded.


Blogger only - post as a draft. Shorthand for --access=draft


Docs only - editor to use on a file.


Fields to list with list task.

-f FOLDER, --folder=FOLDER

Docs only - specify folder(s) to upload to / search in.


Force validation step for re-used access tokens (Overrides --skip-auth).


Docs only - format to download documents as.


Label the machine being used.

-n TITLE, --title=TITLE

Title of the item


Google Apps Premier only - do not convert the file on upload. (Else converts to native Google Docs format)


Finance only - specify notes for transaction

-o OWNER, --owner=OWNER

Username or ID of the owner of the resource. For example, ’picasa list-albums -o bob’ to list bob’s albums


Picasa only - specify title or name of photo(s)


Finance only - specify price for transaction

-q QUERY, --query=QUERY

Full text query string for specifying items. Searches on titles, captions, and tags.


Print only prompts and error messages


Calendar only - specify time for added event’s reminder, e.g. "10m", "3h", "1d"


Finance only - specify amount of shares for transaction


Skip validation step for re-used access tokens.


Source. Typically files to upload.

-s SUMMARY, --summary=SUMMARY

Description of the upload, or file containing the description.

-t TAGS, --tags=TAGS

Tags for item, e.g. "Sunsets, Earth Day"


Finance only - specify ticker


Finance only - specify transaction type, e.g. "Bye", "Sell", "Buy to Cover", "Sell Short"


Finance only - specify transaction id

-u USER, --user=USER

Username to log in with for the service.

-v, --verbose

Print all messages.


Answer "yes" to all prompts


google blogger post --title ’foo’ ’command line posting’

google calendar add ’Lunch with Jim at noon tomorrow’

google contacts list --title ’.*’ --fields name,email,phone > contacts.csv

google docs edit --title ’Shopping list’

google picasa create --title ’Cat Photos’ ~/photos/cats/*.jpg

google youtube post --category Education killer_robots.avi

Copied to clipboard