Что мне нужно изменить, чтобы получить код аутентификации в том же приглашении Google? К вашему сведению: я использую WordPress.
Изменения:
Я создал новый настольный клиент аутентификации, и теперь я могу установить URI перенаправления, как упомянуто выше, и с его помощью я могу создать код аутентификации и токен доступа. Однако я получаю ошибку ACCESS_TOKEN_SCOPE_INSUFFICIENT при вызове API администратора. Я проверил API администратора и данных, и оба они включены в моей консоли Google. То же самое работает нормально, когда я использую клиент аутентификации веб-приложения, но наше требование состоит в том, чтобы использовать установленный плагин, поскольку он предоставляет код аутентификации в командной строке.
Ниже приведен процесс создания access_token, который работает нормально:
Код: Выделить всё
if (isset($_POST["save_code"]) && isset($_POST["access_code"])) {
$authCode = $_POST["access_code"];
$client = new Google_Client();
$client->setClientId('***');
$client->setClientSecret('***');
$client->setDeveloperKey('***');
// $client->addScope('https://www.googleapis.com/auth/analytics.readonly');
$client->setScopes([
'https://www.googleapis.com/auth/analytics',
'openid',
'https://www.googleapis.com/auth/analytics.readonly'
]);
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$client->setAccessType('offline');
$client->setIncludeGrantedScopes(true);
$client->authenticate($authCode);
$access_token = $client->getAccessToken();
var_dump($access_token);
// echo "
";
// print_r($access_token);
// exit;
}
$url = http_build_query(
array(
'next' => 'http://myproject.local.com/wp-admin/admin.php?page=analytify-settings',
'scope' => 'https://www.googleapis.com/auth/analytics',
'response_type' => 'code',
'redirect_uri' => 'urn:ietf:wg:oauth:2.0:oob',
'client_id' => '***'
)
);
?>
Подробнее здесь: [url]https://stackoverflow.com/questions/72967635/how-to-set-urnietfwgoauth2-0oob-as-redirect-uri-in-google-auth-2-0[/url]
Мобильная версия