我的桌面应用程序需要访问某些Google API。
我正在关注official tutorial,并使用urn:ietf:wg:oauth:2.0:oob
作为redirect_uri
很好。但这迫使用户将授权代码复制粘贴到我的应用程序中。使用本地网络服务器时,例如http://127.0.0.1:8000
,在我的应用程序中,我的应用程序获取了代码(以“ 4 /”开头),但是在使用该代码查询令牌时却遇到了redirect_uri_mismatch
错误。
我的API凭据是 OAuth客户端ID ,类型为 Other 作为其他选项(“ Web应用程序”,“ Android”,“ Chrome应用程序”和“ iOS “)与我的预期用法不符。但是“其他”不允许我更改redirect_uri
。我只能下载客户端机密JSON文件,其中redirect_uris给出为:
"redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
似乎我必须使用http://localhost
作为我的redirect_uri,但这将迫使我的应用程序侦听端口80。这会与许多已经在运行(开发)网络服务器的安装发生冲突,并且在端口80上监听。
那么,对于希望运行自己的本地网络服务器以避免复制授权码的桌面应用程序,哪种客户端ID类型是正确的呢?我可以更改“ Other”类型的redirect_uris吗?