Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用googleapi的CLI应用程序_Java_Oauth 2.0_Google Api_Google Oauth_Google Photos Api - Fatal编程技术网

Java 使用googleapi的CLI应用程序

Java 使用googleapi的CLI应用程序,java,oauth-2.0,google-api,google-oauth,google-photos-api,Java,Oauth 2.0,Google Api,Google Oauth,Google Photos Api,我想创建一个应用程序,将下载我的所有照片在谷歌照片。我认为使用可用的API应该很容易 这应该是一个从cron定期运行的CLI应用程序。 但是当我查看Google Photos API时,它们使用的是OAuth2。 此示例显示FixedCredentials的用法: PhotosLibrarySettings settings = PhotosLibrarySettings.newBuilder() .setCredentialsProvider( FixedCr

我想创建一个应用程序,将下载我的所有照片在谷歌照片。我认为使用可用的API应该很容易

这应该是一个从cron定期运行的CLI应用程序。 但是当我查看Google Photos API时,它们使用的是OAuth2。 此示例显示FixedCredentials的用法:

PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();
问题在于
/*在此处添加凭据的部分*/是。我如何在那里提供我的用户凭据?有许多类实现了
凭证
,但它们中没有一个看起来像是允许我在CLI应用程序中自动检索的类

我从谷歌得到的唯一东西是我的应用程序的客户端id和客户端令牌,但如何将其转换为访问/刷新令牌,以便我可以在没有交互的情况下使用它


我真的希望我不需要启动web浏览器来下载我的照片。

谷歌照片库API只接受OAuth用户凭据。这意味着用户需要完成GoogleOAuth流,这意味着基于浏览器的授权

注意:库API不支持服务帐户。你的 应用程序必须使用其他可用的OAuth 2.0流,例如OAuth web服务器应用程序为2.0,移动和桌面应用程序为OAuth 2.0

应用程序必须使用OAuth 2.0来授权请求。没有别的 支持授权协议。如果您的应用程序使用Google 登录后,将为您处理授权的某些方面

此链接详细说明了这些要求:


解释了如何轻松地完成this@pinoyyid谢谢,这正是我需要的。