Я использую Google API PHP Client. И каждый раз, когда я пытаюсь войти в систему, я вынужден предоставлять разрешения для приложений.
Ниже мой код. Я в основном получаю доступ к Google API для Google Analytics
require_once 'lib/apiClient.php'; require_once 'lib/contrib/apiAnalyticsService.php'; session_start(); $client = new apiClient(); $client->setApplicationName("Google Analytics"); $client->setClientId('7xxxx'); $client->setClientSecret('xxxx'); $client->setRedirectUri('xxxx'); $client->setDeveloperKey('xxxx'); $analytics = new apiAnalyticsService($client); if (isset($_GET['logout'])) { unset($_SESSION['token']); } if (isset($_GET['code'])) { $client->authenticate(); $_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()) { $profileId = getProfileIds($analytics); echo "<select>"; foreach ($profileId as $profiles) { echo "<option value=\"" . $profiles['profileId'] . "\">" . $profiles['name'] . "</option>"; } echo "</select>"; } else { $authUrl = $client->createAuthUrl(); print "<a class='login' href='$authUrl'>Connect Me!</a>"; }
Какой вариант мы можем передать createAuthUrl () ??
Установив
$client->setApprovalPrompt('auto');
Он автоматически перенаправляется, если учетная запись имеет доступ к apis. По умолчанию его «сила»