1

Googleアナリティクスは、Googleに認証私は以下は、このGoogleアナリティクスPHPのAPI - ゲットユーザーの電子メール私も、ユーザーの電子メールIDを取得したい

を解決することができますどのようにそれを行うために、私が持っているコードも可能ですあなたがGoogleアナリティクスAPIを使用して認証されているaccess_tokenは

 $scope =implode(' ', array(Google_Service_Calendar::CALENDAR_READONLY,Google_Service_Analytics::ANALYTICS_READONLY)); 

    $this->client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/google/callback'); 
    $this->client->addScope($scope); 
    $this->client->setAccessType("offline"); 

    // Handle authorization flow from the server. 
    if (!isset($_GET['code'])) { 
     $auth_url = $this->client->createAuthUrl(); 
     header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL)); 

    } else { 
     $this->client->authenticate($_GET['code']); 
     $_SESSION['access_token'] = $this->client->getAccessToken(); 

     if (isset($_SESSION['access_token']['refresh_token'])) { 

      $this->googledbsave_model->create_google_cred($_SESSION['id'], $_SESSION['access_token']); 


      if($_SESSION['id']==19){ 

       $access_token = $_SESSION['access_token']; 

       $update_token = array(

        'access_token' => $access_token['access_token'], 
        'token_type' => $access_token['token_type'], 
        'expires_in' => $access_token['expires_in'], 
        'created' => $access_token['created'] 
       ); 

       $get_prof = $this->googledbsave_model->update_subadmin($_SESSION['id'], $update_token); 

      } 


     } else { 
      $this->googledbsave_model->create_google_cred($_SESSION['id'], $_SESSION['access_token']); 
      $this->revokeToken(); 

      $_SESSION['has_error'] = 1; 
      $_SESSION['error_message'] = "Cannot Syncronise Account Properly... Please Authenticate Again"; 
     } 


     $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/google/getProfileIDs'; 
     header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); 
+0

あなたはこれまで何をしていますか?私たちがあなたを助けることができないことを見ずに。あなたが書いたコードを共有してください。 –

+0

私は質問を更新しました – Fawaz

答えて

1

を認証し、保存するために使用する最も簡単な方法は、管理プロトコルかかわらず行くことであろう。技術的にはこのメソッドは、現在の認証されたユーザがアクセス権を持つアカウントのリストを表示するために使用されるaccount summaries list

$accounts = $analytics->management_accountSummaries->listManagementAccountSummaries(); 

を行います。しかし、ユーザ名欄に自分のメールアドレスが返ってくるという点でちょっとしたボーナスがあります。

{ 
    "kind":"analytics#accountSummaries", 
    "username":"[email protected]", 
    "totalResults":14, 
    "startIndex":1, 
    "itemsPerPage":1000, 
    "items":[ 
     {  
     .... 
     }] 
} 

あなたも同じGoogleカレンダーAPIを使用できます。 calendar get

主カレンダー上
$calendar = $service->calendars->get('primary'); 

を行うことで、プライマリカレンダーは、すべてのユーザーのための主要なカレンダーです。

{ 
"kind": "calendar#calendar", 
"etag": "\"E756z8zuickcYzaOnj8krCN4-Pk\"", 
"id": "[email protected]", 
"summary": "[email protected]", 
"timeZone": "Europe/Copenhagen" 
} 

のGoogle APIの多くは、あなたがちょうどあなたが情報を取得するために呼び出す必要があるメソッド把握する必要があり、この隠された機能を持っています。

関連する問題