未捕获的异常'Google_AuthException',消息'无法json解码令牌'

时间:2013-12-16 02:52:02

标签: php google-api google-glass google-mirror-api google-api-php-client

我一直在尝试使用Google Mirror API为Google Glass编写示例应用程序。我下载了Google Mirror API的PHP快速入门,并将其部署到由cPanel管理的Apache Web服务器。我根据Glass Developers网站上发布的指南配置了API密钥等。当我转到我的计算机上的URL来验证应用程序时,我已成功重定向到Google的Oauth2服务以授权我的Google帐户。但是,当我返回网站继续时,我收到此错误:

Fatal error: Uncaught exception 'Google_AuthException' with message 'Could not json decode the token' in /home/fluffy/public_html/glass/google-api-php-client/src/auth/Google_OAuth2.php:162 Stack trace: #0 /home/fluffy/public_html/glass/google-api-php-client/src/Google_Client.php(170): Google_OAuth2->setAccessToken(NULL) #1 /home/fluffy/public_html/glass/util.php(77): Google_Client->setAccessToken(NULL) #2 /home/fluffy/public_html/glass/oauth2callback.php(45): bootstrap_new_user() #3 {main} thrown in /home/fluffy/public_html/glass/google-api-php-client/src/auth/Google_OAuth2.php on line 162

所以我进入了脚本并获得了它试图解析的JSON回显到页面。它输出的JSON数组是:

{ "access_token" : "ya29.1.AADtN_VWpFG9CblS1rWSrxcj1a1arQlIv4Iuu7mQ6UWMp9kRRLpr3tsuxRIDePA3ufvi-Q", "token_type" : "Bearer", "expires_in" : 3600, "id_token" : "eyJhbGciOiJSUzI1NiIsImtpZCI6IjQ3NzZmZWE1ZWRkMzU0OTJlYmNiYWY0N2QzZTQwNWQ5NTEwYzBmYmUifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwidG9rZW5faGFzaCI6IjRCczhpSGNiSk5qUHlYYm41SndSVFEiLCJhdF9oYXNoIjoiNEJzOGlIY2JKTmpQeVhibjVKd1JUUSIsImNpZCI6IjU1OTc1MjgyNjgzOC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImF6cCI6IjU1OTc1MjgyNjgzOC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImF1ZCI6IjU1OTc1MjgyNjgzOC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImlkIjoiMTAyMjUxNzA3OTUyNTQ3MjY3NjEwIiwic3ViIjoiMTAyMjUxNzA3OTUyNTQ3MjY3NjEwIiwiaWF0IjoxMzg3MTYxODk5LCJleHAiOjEzODcxNjU3OTl9.AXsIeC3f0e66ko5o2hxUXrE6LxYnSDXp0CwaSHBQKsd2M4d3g6A-JWeNIVYRTeoXucaFvDlr_XpLEtWeELZ1M8ExI85aWMwI6_xI969te4xX6pLtym2e84PzZGYwMZVmX_imAl4CFB9l5nYrZO7vSelGeXsON474QUvkTbMLTEM", "refresh_token" : "REDACTED" }

所以,我真的不明白。为什么JSON会很好,但脚本无法解析它?我已经看到这个在其他地方发布其他地方的其他Google API,但没有明确的答案。

2 个答案:

答案 0 :(得分:2)

从堆栈跟踪开始,问题似乎出现在/home/fluffy/public_html/glass/util.phpGoogle_Client->setAccessToken()(第77行)调用NULL而不是预期的JSON响应。

尝试检查那里(或oauth2callback.php)以确保您正确传递响应。

答案 1 :(得分:0)

如果您的所有凭据都是正确的,请重新启动浏览器并再次检查。