【发布时间】:2018-08-16 12:23:32
【问题描述】:
当我想确保使用谷歌帐户登录时,我发现了一些错误。错误是:
致命错误:未捕获的 InvalidArgumentException:C:\xampp\htdocs\google\googleAPI\src\Google\Client.php:434 堆栈跟踪:#0 C:\xampp\htdocs\google\callback.php 中的令牌格式无效(5): Google_Client->setAccessToken(Array) #1 {main} 在第 434 行的 C:\xampp\htdocs\google\googleAPI\src\Google\Client.php 中抛出
然后这是我的代码:
<?php
require_once('config.php');
if (isset($_SESSION['accessToken'])){
$client->setAccessToken($_SESSION['accessToken']);
}
else if (isset($_GET['code'])) {
$token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
$_SESSION['accessToken'] = $token;
}
else{
header("location: index.php");
}
$oAtuth = new Google_Service_Oauth2($client);
$user = $oAtuth->userinfo->get();
echo "<pre>";
print_r($user);
?>
请告诉我这段代码有什么问题
【问题讨论】:
-
var_dump($_SESSION['accessToken'])查看内容。错误说它是一个数组。该方法可能需要一个字符串。我的猜测是它是一个带有 accessToken 和 refreshToken 的数组,你只需要 accessToken。 (只是猜测,请提供转储。) -
@Tobias : 在 $_SESSION['accessToken'] 的每个语句中提供转储?
-
就在上面发生错误的那一行就足够了。
-
Okey 就在第 5 行。我会试试的。谢谢
-
这不会解决您的问题,它只是检查要调试的变量。如果您仍然需要帮助,请发布(编辑您的问题)。
标签: php mysql google-api google-plus google-api-client