Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 Google驱动器API-添加和更新权限_Java_Android_File Permissions_Google Drive Api - Fatal编程技术网

Java Google驱动器API-添加和更新权限

Java Google驱动器API-添加和更新权限,java,android,file-permissions,google-drive-api,Java,Android,File Permissions,Google Drive Api,我正在android应用程序中的Google Drive上进行文件共享。下面是一个场景。。。用户A与用户B共享一个文件,给他/她“编写者”角色。后来,健忘的用户A再次与用户B共享同一个文件,这一次给了他/她“阅读器”角色。我的问题是,这会覆盖第一个许可吗?或者应用程序应该处理现有文件权限的检查吗?如果您有文件ID和权限ID,您可以使用更新权限的角色属性。角色属性将被覆盖。但是如果您注意到,有一个additionalRoles[]属性允许您将次要角色添加到授予用户的权限中。现在,只允许commen

我正在android应用程序中的Google Drive上进行文件共享。下面是一个场景。。。用户A与用户B共享一个文件,给他/她“编写者”角色。后来,健忘的用户A再次与用户B共享同一个文件,这一次给了他/她“阅读器”角色。我的问题是,这会覆盖第一个许可吗?或者应用程序应该处理现有文件权限的检查吗?

如果您有
文件ID
权限ID
,您可以使用更新
权限的
角色
属性。
角色
属性将被覆盖。但是如果您注意到,有一个
additionalRoles[]
属性允许您将次要角色添加到授予用户的权限中。现在,只允许
commenter
。也许在将来,该属性中将添加更多角色

您可以通过以下方式自行确认:

  • 首先,发送
    drive.files.list
    请求以获取共享文件的
    fileId
    文件
  • 发送
    drive.permissions.list
    请求和
    fileId
    以获取 用户的
    permissionId
    (它是响应中的
    id
  • 使用
    fileId
    permissionId
    ,现在您可以使用
    drive.permissions.update
    通过发送更改该用户的角色 正文中具有
    role
    属性的请求

  • 非常感谢。因此,为了获得
    权限ID
    ,我必须循环访问权限列表,并使用与用户电子邮件相同的value属性获取权限,对吗?如果您只想获得已验证用户(使用您的应用程序的用户)的权限,发送
    drive.files.list
    请求就足够了。响应将包含
    userPermission
    字段,该字段向文件提供该用户的
    id
    角色
    类型
    。请注意,您可以将权限
    id
    用作
    me
    ,而不是身份验证用户的完整id字符串。否则,如果您想获得授予所有用户的权限,那么是的,您需要发送
    drive.permission.list
    请求以获取用户列表并更新其
    角色
    我不确定拥有
    所有者
    角色的用户是否可以更改为其他角色。我尝试使用API资源管理器,结果显示
    500内部服务器错误