如何在com.google.api.client.extensions.jetty.auth.oauth2.LocalS



我正在开发一个与google API(google sheets API(集成的java应用程序

我试图遵循谷歌开发者网站上提供的一个例子。链接:https://developers.google.com/sheets/api/quickstart/java#step_3_set_up_the_sample

他们使用LocalServerReceiver创建了重定向uri,如下所示。

LocalServerReceiver receiver = 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来公开我的localhost。

例如:如果我访问url";天堂;它将指向我的本地主机。

所以我需要通过";天堂;作为重定向url。

有人能帮我实现这一点吗?

谢谢。

您可以简单地使用setHost()方法并将重定向URI设置为ngrok方法。

最新更新