2012-08-15 13 views
7

最新のバージョン3.0を使用してGoogleアナリティクスアカウントレポートにアクセスしたいが、ユーザーが記録しなければならない有効なアクセストークンを取得するために、GoogleアナリティクスCore Reporting APIバージョン3.0クライアントログインなし

私たち自身のアカウントへの直接アクセスを希望し、アカウントに応じてクライアントにアクセスしません。 Googleのログインページにブラウザを送信することなく、PHPでこれをどのように達成するのですか? v3.0のためのまっすぐなAPI認証はありませんか?

EDIT

これは、彼らが "サーバーへのサーバー" と呼んで、エンドユーザーとの対話なしAPIにアクセスする唯一の方法であると思わ:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

EDIT 2

これはできないようですか? ;(

警告:非常に少数のGoogleのAPIは、現在サービスアカウントをサポートする サービスアカウントは現在、次のGoogle 開発サービスによってサポートされています。

  • Googleクラウドストレージ
  • のGoogle Prediction APIの。
  • Google URL短縮サービス
  • Google OAuth 2.0認証サーバー

EDIT 3

私は一度ログインしてから、追加のユーザログインせずにアクセスを獲得維持するために「リフレッシュトークン」を使用して、結局解決策があるようです。

+0

こんにちは@Sarkeを、これは私が今そこに実行している、ほとんどのGA-APIプログラマがに実行することを実生活の質問ですが、私は聞いてみたいですあなたはそれについて何か解決策を見つけたら、アクセストークンとリフレッシュトークンを変数として保存し、それをSetAcess()関数に送るべきだと私は読んでいますが、動作させることはできませんでした。あなたが何かを見つけ出して、コードスニペットを投稿すれば教えてください、それは非常に高く評価されます!ありがとう – mongotop

答えて

1

私はリフレッシュトークンを使用して終了しましたが、正常に動作します。 Googleのapiコンソールを使用してoauthトークンを取得して保存しました。

その後、私はちょうど各要求の前に次の操作を行います。

require_once 'google-api-php-client/src/apiClient.php'; 
require_once 'google-api-php-client/src/contrib/apiAnalyticsService.php';; 

$client = new apiClient(); 
$client->setApplicationName('My Analytics'); 
$client->setClientId($this->client_id); 
$client->setClientSecret($this->client_secret); 
$client->setDeveloperKey($this->api_key); 

$client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly')); 

$client->refreshToken($this->refresh_token); 

$this->service = new apiAnalyticsService($client); 
関連する問題