我有我在我的公司開發的這個面板,我會從Google Analytics顯示用戶的信息,但我不希望用戶在他每次訪問時授權或使用他的帳戶登錄到面板。谷歌分析API自動登錄
我想要做的是:在第一次使用我的面板時,他會連接他的Google帳戶,我會保存一些信息,並在下次連接我的面板時使用此保存的信息登錄他的帳戶,因此我可以列出Google Analytics(分析)信息,而無需詢問他的許可,或者即使他沒有連接,也列出該信息是Google帳戶。
基本上我會自動登錄他的帳戶,並允許「應用程序」顯示信息。
我已經有一些連接API的代碼,如果他連接的是Google帳戶,但是當他沒有登錄屏幕時,他必須提供他的電子郵件密碼。
什麼我到目前爲止是這樣的:
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("Google Analytics PHP Starter Application");
$client->setClientId('KEY');
$client->setClientSecret('SECRET');
$client->setRedirectUri('RETURN URI');
$client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$client->setAccessType('offline');
$service = new Google_Service_Analytics($client);
if(isset($_GET['logout']))
{
unset($_SESSION['token']);
}
if(isset($_GET['code']))
{
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
if(isset($_SESSION['token']))
{
$client->setAccessToken($_SESSION['token']);
}
if($client->getAccessToken())
{
$props = $service->management_webproperties->listManagementWebproperties("12008145");//~all
print "<h1>Web Properties</h1><pre>" . print_r($props, true) . "</pre>";
$accounts = $service->management_accounts->listManagementAccounts();
//print "<h1>Accounts</h1><pre>" . print_r($accounts, true) . "</pre>";
$segments = $service->management_segments->listManagementSegments();
//print "<h1>Segments</h1><pre>" . print_r($segments, true) . "</pre>";
$goals = $service->management_goals->listManagementGoals("~all", "~all", "~all");
//print "<h1>Goals</h1><pre>" . print_r($goals, true) . "</pre>";
$_SESSION['token'] = $client->getAccessToken();
}
else
{
$authUrl = $client->createAuthUrl();
header("Location: " . $authUrl);
}
?>
有沒有辦法做到這一點?我到處尋找它並找不到它附近的東西。
您可以使用[刷新令牌(https://developers.google.com/accounts/docs/OAuth2WebServer#離線)或[服務帳戶](https://code.google.com/p/google-api-php-client/wiki/OAuth2#Service_Accounts)。刷新令牌將要求他們登錄並授予訪問權限,然後保存刷新令牌。刷新標記可以被撤消或停止工作,因此請閱讀所有文檔。 –
您是否正在訪問Google分析或其他人Google數據分析? – DaImTo
我正在訪問其他人的數據。 – Terkhos