我正在尝试使用Google Photos Java API上传/下载项目的照片,并希望找到一种使用OAuth2同意屏幕/浏览器的方法,而不是手动提供客户端ID和密码。
我感觉Google在其Java OAuth API上的文档在每个站点上都有不同之处。我目前可以使用google api控制台提供的客户端ID和客户端密钥成功进行身份验证。
这是我当前用于验证的代码。
private static Credential authorize() throws IOException {
AuthorizationCodeFlow flow = new AuthorizationCodeFlow.Builder(BearerToken.authorizationHeaderAccessMethod(),
new NetHttpTransport(),
JacksonFactory.getDefaultInstance(),
new GenericUrl("https://oauth2.googleapis.com/token"),
new ClientParametersAuthentication(CLIENT_ID, CLIENT_SECRET),
CLIENT_ID,
"https://accounts.google.com/o/oauth2/auth").setScopes(Arrays.asList(REQUEST_SCOPE))
.setDataStoreFactory(new FileDataStoreFactory(DATA_STORE_DIR)).build();
LocalServerReceiver receiver = new LocalServerReceiver.Builder().setHost("localhost").setPort(80).build();
return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
}