我遇到Oauth2授权问题。
我正在使用google-api-php-client
与G +服务器通信。初始化URL似乎正常(由lib与setAccessType('offline')
生成)。但每次用户连接Google时都不会询问有关离线访问的信息。当然稍后令牌就会过期。
以下是生成的网址
的示例 https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=https%3A%2F%2Fwebaserver.com%2Fapp_dev.php%2Fsocial%2Fgoogle%2Fcallback&client_id=271195014651.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&access_type=offline&approval_prompt=force&state=319d6021eeec33122901e36e7ce9149d
我忘记了一些重要的细节吗?
答案 0 :(得分:1)
用户首次授权应用时access_type=offline
是否已就位?我猜不是。
系统只会在您请求授权的第一次时间内发送刷新令牌,即使您使用approval_prompt=force
或稍后将access_type更改为离线。
您可以将Manage Apps页面和Edit App
悬停在应用上,然后点击显示的铅笔。然后,您可以选择Disconnect
,auth系统会将未来的登录视为您第一次再次对该应用进行身份验证。您应该使用此系统而不是approval_prompt=force
来测试首次用户体验。
答案 1 :(得分:1)
您是否已接受ToS for G + API?如果没有,那可能就是为什么你的申请被禁止了。访问项目控制台并查找API选项卡。
有关参数的更多细节: