web-dev-qa-db-ja.com

サービスアプリケーションとGoogle Analytics API V3:サーバー間OAuth2認証ですか?

サーバーアプリケーションを作成して、定期的に自分のGAアカウントからGoogleアナリティクスデータを取得します。これは、自分のデータにアクセスするサーバーサイドアプリケーションです。つまり、このアプリケーションにアクセスするエンドユーザーはいません。

そのため、 Google API Console でアプリケーションをService Applicationとして登録し、クライアントIDおよび秘密鍵。サービスアプリケーションはApplication SecretおよびRedirect URLこのサーバー間の認証フローにはエンドユーザーがいないため。実際、Google API Consoleは私に秘密を与えず、リダイレクトURLを要求しませんでした。

残念ながら、 GoogleのPHP Client API 内でサービスアプリケーションを認証する方法がわかりません。Webアプリケーションの認証に関する詳細なドキュメントがありますwithエンドユーザー。

Googleのドキュメントでは、 秘密鍵でJWTリクエストに署名することでサーバー間を認証することができます が提案されています。 PHPクライアントAPI内で行う方法がわかりません(ソースを参照しましたが、 間違いなくスクリプト でリクエストに署名しますが)秘密鍵。)

ここに何かが足りませんか?プライベートキーとGoogle PHPクライアントAPIを使用してサービスアプリケーションの認証を実行するにはどうすればよいですか?

わかりやすくするために編集

60

Google API PHPクライアントはトランクのサービスアカウントをサポートするようになりました。

実装はまだリリースされていないため、 checkout PHPクライアントの最新バージョン)が必要です。

サービスアカウントを使用してGoogle Prediction APIにアクセスする方法を示すサンプルアプリケーションを用意しました。サンプルを表示するには、examples/prediction/serviceAccount.phpを覗くか、次のページにアクセスしてください。 http://code.google.com/p/google-api-php-client/source/browse/trunk/examples /prediction/serviceAccount.php

4
Chirag Shah

GoogleのPHPクライアントAPI を使用している場合は、 Google APIコンソール に移動してAPI Access 左に。

その後、Create a Client IDsecretが得られ、redirect URL。リダイレクトURLは提供されません。つまり、アプリが認証後にユーザーに送り返すURLです。

他の認証方法 があります。

2
jk.

非常に便利なphpライブラリ [〜#〜] api [〜#〜] (Google Analytics API PHP Interface)を使用して、OAuthなしでGoogle Analyticsにアクセスできます。簡単です使用する。

2
Martin Lojek