Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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 谷歌驱动器API检查文件是否与我共享_Java_Google Drive Api_Google Sheets Api - Fatal编程技术网

Java 谷歌驱动器API检查文件是否与我共享

Java 谷歌驱动器API检查文件是否与我共享,java,google-drive-api,google-sheets-api,Java,Google Drive Api,Google Sheets Api,我正在创建一个android应用程序,它使用Google Sheets API V4和Google Drive API V2编辑Google电子表格。但我有个问题。我需要能够检查电子表格是否与登录到设备的用户共享,以及他们是否可以编辑电子表格,或者他们是否是所有者。我试过了 Boolean canEdit=driveService.files().get(fileId.execute().getEditable() 和 Boolean canEdit=driveService.files() .

我正在创建一个android应用程序,它使用Google Sheets API V4和Google Drive API V2编辑Google电子表格。但我有个问题。我需要能够检查电子表格是否与登录到设备的用户共享,以及他们是否可以编辑电子表格,或者他们是否是所有者。我试过了
Boolean canEdit=driveService.files().get(fileId.execute().getEditable()

Boolean canEdit=driveService.files()
.get(fileId).execute().getCapabilities().getCanEdit()
但这两种方法似乎只有在用户拥有该文件时才起作用。我认为这是因为命令
files().get(id)
只能获取用户驱动器中的文件;没有与用户共享的任何文件。我也尝试过
String role=driveService.permissions().get(fileId,driveService
.about().get().execute().getPermissionId()).execute().getRole()
但这似乎也只是在用户驱动器中查找文件。如果用户不是所有者,则所有这些命令将抛出404 Not Found。
请帮帮我

如中所述,
404:File not found
可能是用户没有文件的读取权限

另外,需要访问用户数据的请求需要特定的访问范围。但是,如中所述,Google Drive Android API目前仅支持
Drive.file
Drive.appfolder
授权范围

这样,您可能希望使用授权您的请求,而不是使用与您共享的Google Drive web服务