2011-10-06 08:48:53 +00:00
|
|
|
# APIClient
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
<dl>
|
|
|
|
<dt>Homepage</dt><dd><a href="http://code.google.com/p/google-api-ruby-client">http://code.google.com/p/google-api-ruby-client</a></dd>
|
|
|
|
<dt>Author</dt><dd><a href="mailto:bobaman@google.com">Bob Aman</a></dd>
|
|
|
|
<dt>Copyright</dt><dd>Copyright © 2011 Google, Inc.</dd>
|
|
|
|
<dt>License</dt><dd>Apache 2.0</dd>
|
|
|
|
</dl>
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
# Description
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2010-10-07 00:02:22 +00:00
|
|
|
The Google API Ruby Client makes it trivial to discover and access supported
|
|
|
|
APIs.
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
# Example Usage
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
# Initialize the client
|
|
|
|
require 'google/api_client'
|
|
|
|
require 'signet/oauth_1/client'
|
|
|
|
client = Google::APIClient.new(
|
|
|
|
:service => 'buzz',
|
|
|
|
# Buzz has API-specific endpoints
|
|
|
|
:authorization => Signet::OAuth1::Client.new(
|
|
|
|
:temporary_credential_uri =>
|
|
|
|
'https://www.google.com/accounts/OAuthGetRequestToken',
|
|
|
|
:authorization_uri =>
|
|
|
|
'https://www.google.com/buzz/api/auth/OAuthAuthorizeToken',
|
|
|
|
:token_credential_uri =>
|
|
|
|
'https://www.google.com/accounts/OAuthGetAccessToken',
|
|
|
|
:client_credential_key => 'anonymous',
|
|
|
|
:client_credential_secret => 'anonymous'
|
|
|
|
)
|
2010-10-07 22:12:27 +00:00
|
|
|
)
|
2011-10-06 08:48:53 +00:00
|
|
|
client.authorization.fetch_temporary_credential!(
|
|
|
|
:additional_parameters => {
|
|
|
|
'scope' => 'https://www.googleapis.com/auth/buzz'
|
|
|
|
}
|
|
|
|
)
|
|
|
|
redirect_uri = client.authorization.authorization_uri(
|
|
|
|
:additional_parameters => {
|
|
|
|
'domain' => client.authorization.client_credential_key,
|
|
|
|
'scope' => 'https://www.googleapis.com/auth/buzz'
|
|
|
|
}
|
|
|
|
)
|
|
|
|
# Redirect user here
|
|
|
|
client.authorization.fetch_token_credential!(:verifier => '12345')
|
|
|
|
|
|
|
|
# Discover available methods
|
2012-01-27 14:57:57 +00:00
|
|
|
method_names = client.discovered_api('plus').to_h.keys
|
2011-10-06 08:48:53 +00:00
|
|
|
|
|
|
|
# Make an API call
|
2012-01-27 14:57:57 +00:00
|
|
|
result = client.execute(
|
|
|
|
'plus.activities.list',
|
|
|
|
{'collection' => 'public', 'userId' => 'me'}
|
2011-10-06 08:48:53 +00:00
|
|
|
)
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
# Install
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
Be sure `http://rubygems.org/` is in your gem sources.
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2010-10-14 00:04:36 +00:00
|
|
|
For normal client usage, this is sufficient:
|
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
$ sudo gem install google-api-client
|
2010-10-14 00:04:36 +00:00
|
|
|
|
|
|
|
The command line interface, the example applications, and the test suite
|
|
|
|
require additional dependencies. These may be obtained with:
|
2010-07-28 19:30:56 +00:00
|
|
|
|
2011-10-06 08:48:53 +00:00
|
|
|
$ sudo gem install google-api-client --development --force --no-rdoc --no-ri
|