【发布时间】:2015-05-19 10:57:27
【问题描述】:
我想使用本机应用程序和网络服务器来获取刷新令牌以用于某些操作(在谷歌驱动器上)。已使用 Google developer console 为本机和 Web 应用程序生成客户端 ID 和机密。
我正在尝试从本机应用程序生成身份验证码,并使用深受 java example 启发的脚本从 Web 服务器交换它们以获取访问/刷新令牌。主要区别在于有两个 GoogleAuthorizationCodeFlow(它们代表本机和服务器部分):
- 使用本机应用程序的 id 和 secret 并用于生成授权码。
- 一种使用 Web 应用程序 ID 和密钥并用于将授权代码交换为凭据。
但是,这样的过程确实会导致 401 Unauthorized 异常。
当对两个 GoogleAuthorizationCodeFlows 使用相同的凭据时,无论是本机应用程序的凭据还是 Web 应用程序的凭据,该过程都会成功并返回一个刷新令牌。
如何在 Web 应用程序上使用本机应用程序的授权代码来生成访问令牌?有没有办法使用 Web 应用程序 ID 和密码来交换授权代码,或者必须使用用于生成令牌的相同凭据来完成程序?
【问题讨论】: