使用服务帐户在Google Drive SDK中列出TeamDrive

时间:2018-07-09 18:33:39

标签: java google-api google-drive-api

我试图使用服务帐户(启用了域范围委派)列出团队驱动器,而仅使用“ teamdrives()。list()”列出时,我得到的响应是空白。

{
  "kind" : "drive#teamDriveList",
  "teamDrives" : [ ]
}

如果我使用“ teamdrives()。list()。setUseDomainAdminAccess(true).setQ(“ name ='Test'”)“或“ teamdrives()。list()。setUseDomainAdminAccess(true)”,我将获得以下信息错误。

400 Bad Request
{
  "code" : 400,
  "errors" : [ {
  "domain" : "global",
  "location" : "q",
  "locationType" : "parameter",
  "message" : "Invalid Value",
  "reason" : "invalid"
} ],
  "message" : "Invalid Value"
}

下面是代码块,

InputStream in = new FileInputStream("client_secret.json");
new GoogleCredential();
GoogleCredential credential = GoogleCredential
        .fromStream(in)
        .createScoped(SCOPES);
Drive _service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build();
tdllist = _service.teamdrives().list().setUseDomainAdminAccess(true).setQ("name='Test'");
TeamDriveList _tdl = tdllist.execute();

希望某人指出我做错了什么或做这件事的有效方法。

谢谢。

感谢与问候
公斤

更新
经过一些研究后知道“ teamdrives()。list()” 列出了用户可以访问的teamdrive,所以我想这部分应该可以正常工作。但是剩下的仍然是个谜。

0 个答案:

没有答案