Java Google API oauth2重定向URI选项
我正在使用谷歌的JavaAPI编写一个桌面应用程序。我可以使用oauth2和重定向URI进行身份验证:Java Google API oauth2重定向URI选项,java,oauth-2.0,google-drive-api,Java,Oauth 2.0,Google Drive Api,我正在使用谷歌的JavaAPI编写一个桌面应用程序。我可以使用oauth2和重定向URI进行身份验证:urn:ietf:wg:oauth:2.0:oob,这将为用户提供一个代码以将粘贴复制回我的应用程序 不过,我更希望有一个更好的工作流,并用http://localhost:8080/myreceiver-或我认为有效的类似内容 我的问题是-在这样的地址轻松启动基于Java的Web服务器,使我能够自动接收此代码并继续oauth2身份验证,最好的方法是什么?谷歌api的一部分在这里有什么帮助吗?或
urn:ietf:wg:oauth:2.0:oob
,这将为用户提供一个代码以将粘贴复制回我的应用程序
不过,我更希望有一个更好的工作流,并用http://localhost:8080/myreceiver
-或我认为有效的类似内容
我的问题是-在这样的地址轻松启动基于Java的Web服务器,使我能够自动接收此代码并继续oauth2身份验证,最好的方法是什么?谷歌api的一部分在这里有什么帮助吗?或者我应该看看标准的基于Java的web服务器吗
任何意见都会帮我大忙的 我曾经使用Google OAuth 2.0开发了一个android应用程序,我对安装的应用程序使用了特殊的重定向uri。当我用这个特殊的重定向uri发送请求时,它将在标题和正文中显示代码,就像官方文档所说的那样。但这没有意义,因为这是一种糟糕的用户体验。所以我在应用程序中编写代码来检测页面标题并自动获取代码,这很简单,希望能有所帮助 代码:
最后,我决定使用tjws启动一个小型web服务器,然后我可以编写一个小servlet,它使用getParameter(“code”)方法作为servlet的doGet方法的一部分来捕获回调代码
非常简单、漂亮、用户友好。这在android上可以工作,但在android之外的Java上却不一样,因为在android之外的客户端机器上,你没有API访问浏览器窗口。你有一个内置于Java的web服务器,为什么不使用它呢?这是concent利用Strava完成整个OAuth2工作的证据。
if(view.getTitle().contains("code=")) {
webview.setVisibility(View.INVISIBLE);
String title = view.getTitle();
if (!handled) {
new ProcessToken(title,oAuth2Helper).execute();
}
} else
{
webview.setVisibility(View.VISIBLE);
}