我正在开发一个与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方法。