我正在使用 Google Drive Android API 。我的应用程序是将文件同步到谷歌驱动器文件夹。这是正常的。
此外,我想与其他用户共享这些文件夹和文件。不幸的是,从同一个应用程序中的其他设备和帐户我只能访问我通过文件/文件夹选择器选择的文件/文件夹(请参阅https://github.com/googledrive/android-demos/tree/master/app/src/main/java/com/google/android/gms/drive/sample/demo)
我的GoogleApiClient正在获得范围:Drive.SCOPE_FILE
。所以描述说:
对应用程序创建或打开的文件的每文件访问权限
由于我在另一台使用不同帐户的设备上使用相同的应用程序,我不能访问这些文件吗?顺便说一下,在其他设备上使用相同的帐户。
还有其他解决方案吗?我已经检查过REST API,但我担心这会使整个代码变得更加复杂。
答案 0 :(得分:4)
对于对解决方案感兴趣的每个人:
此解决方案的一点优势。我认为java rest API无论如何更适合这种工作。代码以这种方式变得更具可读性。
答案 1 :(得分:0)
您只需要授权用户。请注意,应用程序发送到Drive API的每个请求都必须包含授权令牌。该令牌还可识别您的Google应用程序。您必须提出OAuth 2.0来授权请求。不支持其他授权协议。
对Drive API的所有请求必须由经过身份验证的用户授权。
OAuth 2.0的授权流程或“流程”的详细信息会有所不同,具体取决于您编写的应用程序类型。以下一般过程适用于所有应用程序类型:
某些流程包括其他步骤,例如使用刷新令牌获取新的访问令牌。有关各种类型应用程序的流程的详细信息,请参阅Google的OAuth 2.0文档。
<强>范围:强>
https://www.googleapis.com/auth/drive.file
- 对应用程序创建或打开的文件的每文件访问权限
(https://www.googleapis.com/auth/drive)
中的Full access to all files。例如,用于同步文件的应用程序需要此级别的驱动器访问权限。与列出或重组文件相关的具有特殊需求的应用可能需要完整的范围。