我正在开发一个 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
并且在代理中我仍然收到accounts not linked
消息。
我可以看到 Google 能够使用 grantType:authorization_code 调用我的令牌端点,并且我的服务响应如下所述:
POST for /myendpoint/tokens has begun for: grantType:authorization_code clientId:google-clientid...8
我的服务响应是:
{
"token_type":"bearer",
"access_token":"ab092868.....e804bcac",
"refresh_token":"e11e6d3054883...b30",
"expires_in":3600
}
我已经完成了SO Question中的建议,但我的回复没有其他参数。简单明了
我通过带有以下代码的 nodejs 应用程序发送上述响应:
res.setHeader('Cache-Control', 'no-store');
res.setHeader('Pragma', 'no-cache');
res.setHeader('Content-Type', 'application/json;charset=UTF-8');
res.send(JSON.stringify(respObj));
我现在真的很震惊,找不到出路!请帮忙。