Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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
Jakarta ee 如何获取用于在JavaEEWeb应用程序中测试驱动器API的GoogleAPI凭据?_Jakarta Ee_Google Drive Api_Credentials - Fatal编程技术网

Jakarta ee 如何获取用于在JavaEEWeb应用程序中测试驱动器API的GoogleAPI凭据?

Jakarta ee 如何获取用于在JavaEEWeb应用程序中测试驱动器API的GoogleAPI凭据?,jakarta-ee,google-drive-api,credentials,Jakarta Ee,Google Drive Api,Credentials,我正在使用Java的企业版开发一个web应用程序,我需要GoogleDriveAPI。在某个时候,我需要获得客户访问其驱动器的授权,根据我所了解的,我需要获得Google API凭据oAuth凭据,但这是一个漫长的过程,因为我正在做一个学校项目,我不能等待。因此,我需要一种方法来测试API,而不必经历获取已发布应用程序所需凭据的繁重过程 我正在这个项目上测试驱动API 问题在于这个函数 private static Credential authorize() throws Exception

我正在使用Java的企业版开发一个web应用程序,我需要GoogleDriveAPI。在某个时候,我需要获得客户访问其驱动器的授权,根据我所了解的,我需要获得Google API凭据oAuth凭据,但这是一个漫长的过程,因为我正在做一个学校项目,我不能等待。因此,我需要一种方法来测试API,而不必经历获取已发布应用程序所需凭据的繁重过程

我正在这个项目上测试驱动API

问题在于这个函数

private static Credential authorize() throws Exception {
    // load client secrets
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
        new InputStreamReader(testApi.class.getResourceAsStream("/client_secrets.json")));
    if (clientSecrets.getDetails().getClientId().startsWith("Enter")
        || clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
      System.out.println(
          "Enter Client ID and Secret from https://code.google.com/apis/console/?api=drive "
          + "into drive-cmdline-sample/src/main/resources/client_secrets.json");
      System.exit(1);
    }
我需要以某种方式获得client_secrets.json,但我不能没有凭证,或者至少,这是我从研究和阅读中了解到的

此函数从com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets导入;如果有帮助的话


谢谢大家!

是的,您是对的,您需要进行身份验证才能使用Google Drive API。否则,服务无法判断谁正在访问/请求数据以及此人是否有权访问数据

不要担心,您不必等待,但是您必须执行某些步骤才能获得此凭证。我知道您希望通过此API授予其他客户端访问权限以获取其信息

为了做到这一点,您首先需要启用驱动器API的GCP项目。

单击“启用驱动器API”将自动创建一个项目,很可能是在驱动器API已启用的情况下名为quickstart

然后您必须设置一个服务帐户才能访问此项目。


完成此操作后,将下载的文件就是您进行身份验证所需的凭据。“client_secret.json”

感谢您的回答。我不知道我做得是否正确,但我按照你的指示,一路上我下载了两个文件,不确定哪一个应该是client_secret.json,我一直在试图找到放置它的位置,但我找不到正确的目录。。。你能帮我解决这个问题吗,这样我就可以验证我的工作了?第一个文件是在你点击“启用驱动器API”时创建的,只有当你想使用它作为web API请求时才需要它。但是,为了实现这一目标,必须使用服务帐户的凭据文件名,具体取决于服务帐户的名称-IDnumbers.json。注意:请不要将您服务帐户的json文件共享给任何人,这样您就可以访问您的信息。