Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 69 lines (55 sloc) 2.211 kb

APIClient

Homepage
http://code.google.com/p/google-api-ruby-client
Author
Bob Aman
Copyright
Copyright © 2011 Google, Inc.
License
Apache 2.0

Description

The Google API Ruby Client makes it trivial to discover and access supported APIs.

Example Usage

# 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'
  )
)
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
method_names = client.discovered_api('plus').to_h.keys

# Make an API call
result = client.execute(
  'plus.activities.list',
  {'collection' => 'public', 'userId' => 'me'}
)

Install

Be sure http://rubygems.org/ is in your gem sources.

For normal client usage, this is sufficient:

$ sudo gem install google-api-client

The command line interface, the example applications, and the test suite require additional dependencies. These may be obtained with:

$ sudo gem install google-api-client --development --force --no-rdoc --no-ri
Something went wrong with that request. Please try again.