Java 如何在com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver中设置自定义重定向URI
我正在开发一个与GoogleAPI(GoogleSheetsAPI)集成的java应用程序 我正试图遵循谷歌开发者网站提供的一个例子。链接: 他们使用LocalServerReceiver创建重定向uri,如下所示Java 如何在com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver中设置自定义重定向URI,java,google-api,google-oauth,google-sheets-api,google-oauth-java-client,Java,Google Api,Google Oauth,Google Sheets Api,Google Oauth Java Client,我正在开发一个与GoogleAPI(GoogleSheetsAPI)集成的java应用程序 我正试图遵循谷歌开发者网站提供的一个例子。链接: 他们使用LocalServerReceiver创建重定向uri,如下所示 LocalServerReceiver=new LocalServerReceiver.Builder().setPort(8888.build() 它在com.google.api.client.extensions.java6.auth.oauth2.AuthorizationC
LocalServerReceiver=new LocalServerReceiver.Builder().setPort(8888.build()代码>
它在com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp=>authorize()方法中使用,如下所示:
String redirectUri=receiver.getRedirectUri()代码>
以下是receiver.getRedirectUri()生成uri的方式:
public String getRedirectUri() throws IOException {
server = HttpServer.create(new InetSocketAddress(port != -1 ? port : findOpenPort()), 0);
HttpContext context = server.createContext(callbackPath, new CallbackHandler());
server.setExecutor(null);
try {
server.start();
port = server.getAddress().getPort();
} catch (Exception e) {
Throwables.propagateIfPossible(e);
throw new IOException(e);
}
return "http://" + this.getHost() + ":" + port + callbackPath;
}
由于我在localhost中运行此操作,getRedirectUri()将返回如下url:
http://localhost:8888/Callback
我想要的是提供一个自定义url,因为我正在使用ngrok公开我的本地主机
如果我访问“paradise.au.ngrok.io”url,它将指向我的本地主机
所以我需要将“paradise.au.ngrok.io”作为重定向url传递
有人能帮我做到这一点吗
谢谢。您只需使用该方法并将重定向URI设置为您的ngrok URI即可