【发布时间】:2021-09-09 18:49:54
【问题描述】:
我正在使用 JS 库 https://apis.google.com/js/platform.js 登录我的用户以将令牌传递给我的后端:
gapi.auth2.getAuthInstance().signIn().then(() => {
var user = gapi.auth2.getAuthInstance().currentUser.get();
var authResp = user.getAuthResponse();
var bodyFormData = new FormData();
bodyFormData.append('google_token', authResp.access_token);
当我在服务器上收到访问令牌时,我尝试使用 php 客户端库来生成客户端的其余部分:
$google = new google();
$google->setAuthConfig('client_secrets.json');
$google->setAccessType('offline');
$google->createAuthUrl();
$google->getRefreshToken();
$google->setAccessToken($thePOSTedAccessToken);
$service = new Google_Service_MyBusiness($google);
问题是,无论我做什么,我都无法在创建 $client->createAuthUrl(); 后从 client.auth 获取我的刷新令牌。所以这要么意味着我没有在 php 中正确地做客户端,要么是其他错误。我问这个问题是因为我已经遵循了所有文档并广泛研究了为什么我没有收到更新。
【问题讨论】:
-
这将使您对您的情况有所了解。 stackoverflow.com/a/10857806/16327700
-
非常感谢,我确实看过
$google->setAccessType('offline');。即使我尝试在第一次登录时访问刷新,我也没有获得刷新令牌(这是在从谷歌帐户中删除应用程序之后)
标签: javascript php google-oauth google-api-php-client google-api-js-client