X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8b128286c5485bea624c1a90d38a5dcd15885ec6..7ed22caf822b166651cabd78ff6c5a3488681e00:/README.md?ds=sidebyside diff --git a/README.md b/README.md index cf67924aed..03124d5ccc 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,13 @@ The Google API Ruby Client makes it trivial to discover and access supported APIs. +## Alpha + +This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible changes when necessary. + ## Install -Be sure `http://rubygems.org/` is in your gem sources. +Be sure `https://rubygems.org/` is in your gem sources. For normal client usage, this is sufficient: @@ -83,8 +87,13 @@ drive = client.discovered_api('drive', 'v2') Locally cached discovery documents may be used as well. To load an API from a local file: ```ruby +# Output discovery document to JSON +File.open('my-api.json', 'w') do |f| f.puts MultiJson.dump(client.discovery_document('myapi', 'v1')) end + +# Read discovery document and load API doc = File.read('my-api.json') -my_api = client.register_discovery_document('myapi', 'v1', doc) +client.register_discovery_document('myapi', 'v1', doc) +my_api = client.discovered_api('myapi', 'v1') ``` ### Authorization @@ -107,6 +116,18 @@ client.authorization.fetch_access_token! client.execute(...) ``` +Service accounts are also used for delegation in Google Apps domains. The target user for impersonation is specified by setting the `:person` parameter to the user's email address +in the credentials. Detailed instructions on how to enable delegation for your domain can be found at [developers.google.com](https://developers.google.com/drive/delegation). + +### Automatic Retries & Backoff + +The API client can automatically retry requests for recoverable errors. To enable retries, set the `client.retries` property to +the number of additional attempts. To avoid flooding servers, retries invovle a 1 second delay that increases on each subsequent retry. +In the case of authentication token expiry, the API client will attempt to refresh the token and retry the failed operation - this +is a specific exception to the retry rules. + +The default value for retries is 0, but will be enabled by default in future releases. + ### Batching Requests Some Google APIs support batching requests into a single HTTP request. Use `Google::APIClient::BatchRequest` @@ -172,29 +193,9 @@ if upload.resumable? end ``` -## Command Line - -Included with the gem is a command line interface for working with Google APIs. - -```bash -# Log in -google-api oauth-2-login --client-id='...' --client-secret='...' --scope="https://www.googleapis.com/auth/plus.me" - -# List the signed-in user's activities -google-api execute plus.activities.list --api=plus -- userId="me" collection="public" - -# Start an interactive API session -google-api irb ->> plus = $client.discovered_api('plus') ->> $client.execute(plus.activities.list, {'userId' => 'me', 'collection' => 'public'}) -=> # returns a response from the API -``` - -For more information, use `google-api --help` - ## Samples -See the full list of [samples on Google Code](http://code.google.com/p/google-api-ruby-client/source/browse?repo=samples). +See the full list of [samples on Github](https://github.com/google/google-api-ruby-client-samples). ## Support