2016-03-10 9 views
9

Google Service Account私のアプリがGoogleアナリティクスからデータを取得するために使用しています。私はアカウントを作成したときデフォルトの認証情報ファイルなしでGoogleサービスアカウントを認証するにはどうすればよいですか?

私はOAuthを介して、承認のために必要なすべての情報をclient_secretsファイルをダウンロードし、私はGoogle's documentationあたりとしてGOOGLE_APPLICATION_CREDENTIALSという環境変数にこのファイルへのパスを記録しました。

私は今、このような認証されたクライアントを取得することができます:

authorization = Google::Auth.get_application_default(scopes) 

このメソッドは、ローカルで動作するファイルのうち、認証情報を読み取り、私のアプリは、ファイルの保存が不可能であるHerokuの上でホストされています。

The documentation statesこのファイルを提供する(できない)、公式のGoogleサービスで私のアプリケーションを実行する(できない)、エラーが発生する可能性があります。

client_secretsファイルなしでサービスアカウントを認証するにはどうすればよいですか?

答えて

15

google-auth-library-ruby gemのsource codeで回答が見つかりました。

それは別のオプションがあることが判明:client_secretsファイルから値を取得し、それぞれGOOGLE_ACCOUNT_TYPEGOOGLE_CLIENT_IDGOOGLE_CLIENT_EMAILGOOGLE_PRIVATE_KEYという名前の環境変数に入れて。

これらのキーが入力されている場合は、資格情報がそこから読み込まれます。しかし、これはドキュメントのささやきではありません。

関連する問題