Php 谷歌+;api不工作

Php 谷歌+;api不工作,php,json,google-plus,Php,Json,Google Plus,我的google+api代码正在运行。突然,我在下面的一行中出现了一个错误。感谢您的帮助 if (isset($_SESSION['access_token'])) { $client->setAccessToken($_SESSION['access_token']); } 错误消息如下所示 Warning: json_decode() expects parameter 1 to be string, array given in /opt/bitnami/apache2/htdo

我的google+api代码正在运行。突然,我在下面的一行中出现了一个错误。感谢您的帮助

if (isset($_SESSION['access_token'])) {
$client->setAccessToken($_SESSION['access_token']);
}
错误消息如下所示

 Warning: json_decode() expects parameter 1 to be string, array given in /opt/bitnami/apache2/htdocs/goo/src/auth/apiOAuth2.php on line 142 Fatal error: Uncaught exception 'apiAuthException' with message 'Could not json decode the access token' in /opt/bitnami/apache2/htdocs/goo/src/auth/apiOAuth2.php:144 Stack trace: #0 /opt/bitnami/apache2/htdocs/goo/src/apiClient.php(186): apiOAuth2->setAccessToken(Array) #1 /opt/bitnami/apache2/htdocs/goo/googlep.php(1196): apiClient->setAccessToken(Array) #2 {main} thrown in /opt/bitnami/apache2/htdocs/goor/src/auth/apiOAuth2.php on line 144

我刚才也犯了同样的错误。 实际上,这个函数setAccessToken只接受json_编码的字符串(简单地说就是当用户验证具有访问令牌、刷新令牌、承载等的内容时得到的json编码字符串)。必须将json编码的字符串传递给此函数才能设置访问令牌。 $client=新的Google_客户端()

$token=$client->getAccessToken();//当google使用代码将用户身份验证后重定向到您的重定向uri时,获取令牌。 //$token将具有json编码的字符串

$client->setAccessToken($token);//现在在这里用$token设置访问令牌


如果将数组或任何其他json编码的字符串传递给setAccessToken,则会出现此错误。

您的错误可能是由于会话['access\u token']造成的。我曾经使用过gplus和twitterapi,它们都使用了变量
$\u SESSION['access\u token']


只需在google plus代码中将
access\u token
修改为
access\u token\u plus
或您喜欢的任何内容,即可避免重写冲突

var\u dump($\u SESSION['access\u token'])
显示了什么?@MarcB数组(4){[“oauth\u token”]=>string(50)“iremovedthis”[“oauth\u token\u secret”]=>string(38)“iremovedthis”[“user\u id”]=>string(9)“iremovedthis”[“screen\u name”=>string(12)“intelaravind”}看起来您应该传入
$\u SESSION['access\u token]['oauth\u token']
,或者可能是oauth\u token_secret@MarcB谢谢你的回复,我会查一下same@MarcB不幸的是,两者都不起作用