我正在开发API AI代理,并尝试实现帐户链接功能。 oauth2-codeflow上的文档非常有用,我可以创建我的oauth流程并在Google playground中对其进行测试。这一切都很好,直到这里。
但是当我试图在网络模拟器中测试它时,我一直得到“看起来你的代理帐户还没有链接”。我已经按照调试URL进行了登录和授权步骤。
根据此SO Question:我应该期望将浏览器重定向到https://www.google.com/?result_code=SUCCESS&result_message=Accounts+now+linked
,但我的浏览器始终会重定向到https://www.google.co.in/?gws_rd=cr&ei=QDOEWfCAPMHA0gSUvJj4Ag
,而在代理中我仍然会{{1}消息。
我可以看到Google可以使用grantType:authorization_code调用我的令牌端点,我的服务响应如下所示:
accounts not linked
我的服务回复是:
POST for /myendpoint/tokens has begun for: grantType:authorization_code clientId:google-clientid...8
我已经完成了SO Question中的建议,但我的回复中没有其他参数。它简单明了
我通过nodejs应用程序发送上述响应,代码如下:
{
"token_type":"bearer",
"access_token":"ab092868.....e804bcac",
"refresh_token":"e11e6d3054883...b30",
"expires_in":3600
}
我现在真的很震惊,无法找到出路!请帮助。
答案 0 :(得分:2)
如通过电子邮件所述,您似乎没有重定向到与登录流程中提供给授权端点的redirect_uri参数相同的URL。我将调查改进有关此错误的消息传递。
答案 1 :(得分:2)
我被重定向到了同样的gws_rd = cr& ei url,这是因为我们不在美国开发。试图通过VPN连接西雅图,然后使用result_code = SUCCESS工作并重定向到google.com主页。我认为Google在这个过程中的某个地方会受到阻碍。