从java应用程序将文件上载到google drive,无需用户交互

从java应用程序将文件上载到google drive,无需用户交互,java,google-oauth,google-drive-api,Java,Google Oauth,Google Drive Api,我正在开发一个java应用程序,我希望该应用程序将文件上传到Google drive,而无需任何用户交互,保存文件后,我希望它能被真人查看。你能帮我实现上述目标吗 我面临的问题, 使用应用程序拥有的帐户进行身份验证: 对于常规帐户:使用API密钥进行身份验证,但无法插入文件。 对于服务帐户:已成功通过身份验证并将文件插入驱动器,但无法被真人查看。 使用上传文件:我不知道从哪里获取授权代码以及如何将其设置为头文件。一个示例代码会很有帮助 如果您能在这方面帮助我,那就太好了。最简单的方法是安装Goo

我正在开发一个java应用程序,我希望该应用程序将文件上传到Google drive,而无需任何用户交互,保存文件后,我希望它能被真人查看。你能帮我实现上述目标吗

我面临的问题,

使用应用程序拥有的帐户进行身份验证: 对于常规帐户:使用API密钥进行身份验证,但无法插入文件。 对于服务帐户:已成功通过身份验证并将文件插入驱动器,但无法被真人查看。 使用上传文件:我不知道从哪里获取授权代码以及如何将其设置为头文件。一个示例代码会很有帮助


如果您能在这方面帮助我,那就太好了。

最简单的方法是安装Google Drive客户端,然后直接将文件放入Google Drive目录。谷歌硬盘将自动上传和发布。完成了

否则,您必须通过GoogleDrive API进行上传,并通过OAuth API获得auth_令牌。具体方法因平台而异。对于在Windows上运行的本机Java应用程序,代码如下所示:

  try {
    GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest(
        transport,
        jsonFactory,
        clientSecrets.getWeb().getClientId(),
        clientSecrets.getWeb().getClientSecret(),
        code,
        clientSecrets.getWeb().getRedirectUris().get(0)).execute();
    return buildEmpty().setAccessToken(response.getAccessToken());
  } catch (IOException e) {
    new RuntimeException("An unknown problem occured while retrieving token");
  }
有关更多信息:


谢谢您的回复。我的要求是使用java作为后台进程,以编程方式将文件上传到GoogleDrive。因此,不能选择安装谷歌硬盘客户端。在上述代码示例中,变量“code”的值是多少??从何处获取值?请查看链接。还有更多的代码,我只是引用了核心部分。我还尝试使用REST,但不确定如何设置标题,因为我将以下代码的响应设置为“需要411长度的响应状态”
ClientConfig=new DefaultClientConfig();Client=Client.create(config);WebResource webService=client.resource(UriBuilder.fromUri(“);ClientResponse response=webService.header(“响应类型”,“令牌”)。header(“客户端id”,客户端id)。header(“重定向uri”,重定向uri)。header(“范围”,“概要文件”)。header(“内容长度”,“0”)。post(ClientResponse.class);