Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 GoogleDriveAPI-如何使用域范围的服务帐户并从域中获取所有文档列表_Java_Google App Engine_Google Drive Api - Fatal编程技术网

Java GoogleDriveAPI-如何使用域范围的服务帐户并从域中获取所有文档列表

Java GoogleDriveAPI-如何使用域范围的服务帐户并从域中获取所有文档列表,java,google-app-engine,google-drive-api,Java,Google App Engine,Google Drive Api,我试图使用我的应用程序的服务帐户访问我域中所有用户的所有文档。我按照以下说明进行操作: 但它不起作用。你能帮我解决这个问题吗 下面是有问题的代码行 GoogleCredential credential=new GoogleCredential.Builder().setTransport(TRANSPORT).setJsonFactory(jsonFactory).setServiceAccount(“服务\帐户\电子邮件”).setServiceAccountPrivateKeyFromp1

我试图使用我的应用程序的服务帐户访问我域中所有用户的所有文档。我按照以下说明进行操作:

但它不起作用。你能帮我解决这个问题吗

下面是有问题的代码行

GoogleCredential credential=new GoogleCredential.Builder().setTransport(TRANSPORT).setJsonFactory(jsonFactory).setServiceAccount(“服务\帐户\电子邮件”).setServiceAccountPrivateKeyFromp12文件(新java.io.File(“服务\帐户\ PKCS12 \文件\路径”).setServiceAccountScopes(作用域).setServiceAccountUser(“abc@xyz.combuild()

它的工作很好,但它应该给我详细的所有用户为这个领域。。。相反,它只给我一个用户帐户。。在“服务”帐户文档中,它说它应该能够访问此域下的所有用户数据


为该帐户添加了作用域并启用了API

我认为这些文档并不意味着你可以拥有一个服务帐户,一次就可以访问整个域中的所有文件,你需要使用服务帐户来代表特定的用户。.setServiceAccountUser(“abc@xyz.com)

该服务帐户为您省去了向单个用户请求权限的麻烦。我认为您可以实现所需的唯一方法是使用Admin SDK中的目录API检索域中的所有用户(请参见此答案),然后通过设置服务帐户用户(例如setServiceAccountUser)循环这些用户创建新的凭据对象blah@blah.com"

然后使用Drive SDK列出每个用户的文件:


您需要修复格式。当我运行获取文档的程序时,出现以下错误:com.google.api.client.googleapis.json.GoogleJsonResponseException:403确定{“代码”:403,“错误”:[{“域”:“全局”,“消息”:“禁止”,“原因”:“禁止”}],“消息”:“禁止”}我这样做了,但是当我运行获取文档的程序时,我得到了FileList的空结果,错误如下:com.google.api.client.googleapis.json.GoogleJsonResponseException:403 OK{“code”:403,“errors”:[{“domain”:“global”,“message”:“probled”,“reason”:“probled”}],“message”:“probled”}您是否按照此处概述的所有步骤执行域委派?特别是在域管理控制台中授予您的客户端id访问驱动器作用域的权限?是的,我已经完成了所有步骤。我添加了4个作用域。但是它给我com.google.api.client.googleapis.json.GoogleJsonResponseException:403 OK erroromerio谢谢。我解决了禁止的例外。我面临另一个问题com.google.api.client.googleapis.json.GoogleJsonResponseException:503 OK{“code”:503,“errors”:[{“domain”:“global”,“message”:“Backend Error”,“reason”:“backendError”}],“message”:“Backend Error”}