Skip to main content

Google API from the command line

None

Project description

Features

  • Exposes agnostically all the services in the API.

  • Provides infrastructure for the Oauth2 authentication (console or QT/GTK browser).

  • Shows info so you can build the JSON requests.

  • Credentials for scopes (separated by profiles) are stored for later use.

Install

$ wget https://github.com/tokland/shoogle/archive/master.zip
$ unzip master.zip
$ cd shoogle-master
$ sudo python setup.py install

Notes

  • Python 3.x is required.

  • You must enable the APIs you want to use and create the required keys or secret in the API Manager. Each service has its own policies, check the Google documentation for more details.

Examples

  • Incrementally show details of services/resources/methods:

$ shoogle show url
urlshortener:v1 - URL Shortener API
$ shoogle show urlshortener:v1
urlshortener:v1.url
$ shoogle show urlshortener:v1.url
urlshortener:v1.url.get - Expands a short URL or gets creation time and analytics.
urlshortener:v1.url.insert - Creates a new short URL.
urlshortener:v1.url.list - Retrieves a list of URLs shortened by a user.
$ shoogle show urlshortener:v1.url.get
[INFO] Response (level=0, --debug-response-level=N to change):
{
  "$ref": "Url"
}
[INFO] Request (level=1, --debug-request-level=N to change):
{
  "shortUrl": "(string) The short URL, including the protocol - required"
}
  • Expand a short URL:

$ cat get-longurl.json
{
  "key": "MY_SECRET_KEY", // You can use JS comments!
  "shortUrl": "http://goo.gl/Du5PSN"
}

$ shoogle execute -c your_client_id.json urlshortener:v1.url.get get-longurl.json
{
  "status": "OK",
  "id": "http://goo.gl/Du5PSN",
  "longUrl": "http://1.bp.blogspot.com/-R0HSXDqlJI8/Tr67i-kr7hI/AAAAAAABMko/gaId6iYuhjA/s1600/12_%252520Cross%252520that%252520bridge%252520when%252520we%252520come%252520to%252520it.jpg",
  "kind": "urlshortener#url"
}
  • jq is a JSON processor the comes in handy. This example uploads a video building the JSON from a template and extracting the video ID from the response:

$ cat upload-video.template.json
{
  "part": "snippet",
  "body": {
    "snippet": {
      "title": $title
    }
  }
}
$ jq -n -f upload-video.template.json --arg title "My title" |
    shoogle execute -c your_client_id.json youtube:v3.videos.insert - -f video.mp4 |
    jq -r '.id'
wUArz2nPGqA

More

Feedback

  • Issues: Please open issues only to report bugs of the package. If you have problems regarding how to use the API (what authentication files to use, how to create them, how to build the parameters, manage quotas, etc), use the Google Forums or StackOverflow instead.

  • Want to donate?

ChangeLog

[0.1.0]

  • Provides infrastructure for Oauth2 authentication (console and browser).

  • Exposes all services supported by the Python Gooogle API.

Project details

None

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shoogle-0.1.1.tar.gz (29.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page