2011-09-21 8 views

答えて

11

Googleアナリティクスにアクセスするためのサービスアカウントアプリケーションを作成している場合。

  1. https://code.google.com/apis/consoleでGoogleに登録してください。 [APIアクセス]タブで、[クライアントIDの作成]をクリックし、[サービスアカウント]を選択します。 Googleが生成するキーファイルを保存し、そのキーのパスワードを覚えておいてください。ここで
  2. あなたはキーが利用可能になると、お使いのクライアントID(APIコンソール内のメール) と承認スコープでアサーションプロバイダを初期化

    require 'rubygems' 
    require 'google/api_client' 
    
    api_client = Google::APIClient.new 
    path_to_key_file ="/path/to/key/file-privatekey.p12" 
    passphrase = "google_generated_password" 
    key = Google::APIClient::PKCS12.load_key(path_to_key_file, passphrase) 
    

を始めるためにいくつかのコードです。

asserter = Google::APIClient::JWTAsserter.new(
    '[email protected]com', 
    'https://www.googleapis.com/auth/analytics.readonly', 
    key) 

# To request an access token, call authorize: 
api_client.authorization = asserter.authorize() 
puts api_client.authorization.access_token 

http://code.google.com/p/google-api-ruby-client/wiki/ServiceAccounts

+0

私はこれを取得: '認証に失敗しました。サーバーメッセージ:{"error": "invalid_grant"} '。 私は、人々が許可モードをオフラインに変更すると言っていると聞いたことがありますが、ルビーの宝石からそれを行う方法はありますか? – NullVoxPopuli

0

私は(グーグル-APIクライアントを使用して、ルビーのために、とてもその関連包み...このいずれかのようだった私が見つけた他の記事のカップルに似たように答えましたGoogle Appsの場合は、OAuthとは対照的にAPIキーを使用するといくつかの機能があります。

私はこのプロセス(APIキーサーバー側を使用)をthe code abodeに概説しました。

クライアントを構築するときに、認証パラメータを明示的にnilに設定する必要があります。それ以外の場合は、OAuthを使用して認証を試みます。したがって、apiキーのみを使用してサーバーから呼び出した場合、常に401 Unauthorizedが表示されます。

the code abode - google-api-client for ruby

関連する問題