Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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
Javascript 谷歌驱动API-更改“;“共享”;背景_Javascript_Php_Google Drive Api_Google Drive Realtime Api - Fatal编程技术网

Javascript 谷歌驱动API-更改“;“共享”;背景

Javascript 谷歌驱动API-更改“;“共享”;背景,javascript,php,google-drive-api,google-drive-realtime-api,Javascript,Php,Google Drive Api,Google Drive Realtime Api,我正在构建一个API,允许用户访问托管在google drive上的文件列表,我正在阅读文档,看看是否有足够的资源使之成为可能 我的想法是允许用户更新单个文件的可见性。在文档中,此选项在属性“shared”下用布尔值标记 在“File>Update”方法中,我找不到一个可以执行此操作的参数 在通用谷歌硬盘界面中,该选项通过“共享”选项提供,该选项会提示您一个窗口,在该窗口中,您可以将可见性设置为“私有”/“网络公共”/“拥有链接的人” 我能用API做到这一点吗?我解决了它,将解决方案发布在下面:

我正在构建一个API,允许用户访问托管在google drive上的文件列表,我正在阅读文档,看看是否有足够的资源使之成为可能

我的想法是允许用户更新单个文件的可见性。在文档中,此选项在属性“shared”下用布尔值标记

在“File>Update”方法中,我找不到一个可以执行此操作的参数

在通用谷歌硬盘界面中,该选项通过“共享”选项提供,该选项会提示您一个窗口,在该窗口中,您可以将可见性设置为“私有”/“网络公共”/“拥有链接的人”


我能用API做到这一点吗?

我解决了它,将解决方案发布在下面:

要设置文件“可共享”,必须以以下方式在api调用中设置权限:

var resource = {
  'value': 'default',
  'type': 'anyone',
  'role': 'reader'
};
var request = gapi.client.drive.permissions.insert({
  'fileId': fileId,
  'resource': resource
}).execute(function() { 
  alert("file set to public")
});
要将文件设置回private,需要使用update和method。在“删除”的情况下,这是执行该操作的方式:

  var request = gapi.client.drive.permissions.delete({
    'fileId': fileId,
    'permissionId': 'anyone'
  }).execute(function() { 
    alert("public permissions revoked")
  });