如何在Google Java API中使用Oauth2获得凭证对象

时间:2019-05-16 22:14:12

标签: java authentication oauth-2.0 google-oauth2 google-oauth-java-client

我正在尝试使用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");
    }

0 个答案:

没有答案