2017-06-02 79 views
0

我正在创建一个使用Google Sheets API V4和Google Drive API V2编辑Google Spreadsheet的Android应用程序。但我有一个问题。我需要能够检查电子表格是否与登录设备的用户共享,以及他们是否可以对其进行编辑或者他们是否是所有者。我曾尝试
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。
请帮帮我!Google Drive API检查文件是否与我共享

回答

0

Handling API Errors中所述,404: File not found可能是用户没有对文件的读访问权限。

而且,AFAIK需要访问用户数据的请求需要特定的访问范围。但是,如Authorizing Android Apps所述,Google Drive Android API目前仅支持drive.filedrive.appfolder授权范围。

有了这个,您可能需要使用Google APIs Java Client授权您的请求,而是使用与您共享的Google Drive网络服务search for files

相关问题