如何在使用Google Drive API V3与他人共享时设置文件的功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在使用Google Drive API V3与他人共享时设置文件的功能?相关的知识,希望对你有一定的参考价值。

我想与使用Google API V3的人共享Google驱动器文件时设置canDownload = false, canCopy = false之类的功能。

目前,我正在为该文件设置多个权限,并且权限可以正常工作,但未设置功能。

这里是用于设置权限和功能的代码:

putenv('GOOGLE_APPLICATION_CREDENTIALS=client_secret.json');
     $client = new Google_Client();
     $client->setApplicationName('xyz');
     $client->setAccessType("offline");    
     $client->useApplicationDefaultCredentials();
     $client->setSubject('abc@xyz.com');
     $client->setScopes(array('https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/drive'));
     $service = new Google_Service_Drive($client);
     $optParams = array('sendNotificationEmail'=> false);
     $capabilities = array('canDownload' => false, 'canCopy' => false );

     $permissiondata =insertPermissionview($service,$request['file_google_id'],$optParams, $capabilities, $request['email_id'],'user','reader');

     $newPermissiondata = new Google_Service_Drive_Permission();
     $newPermissiondata->setExpirationTime($request['permission_expires_on'].'T10:00:00-05:30');
     $newPermissiondata->setRole('reader');
     $permissiondatavalue=$service->permissions->update($request['file_google_id'],$permissiondata['id'],$newPermissiondata);

参考:https://developers.google.com/drive/api/v3/reference/files

所以,基本上我的问题是,如何禁用与我已经使用驱动器API共享Google驱动器文件的阅读器的下载,复制,打印选项?

答案

如果检查fileresource的文档,您会注意到这些字段都不可写。创建文件时最有必要设置我,我什至不确定这是否可行,因为默认情况下,创建文件时可以下载和复制文件。这些字段很可能供Google内部使用。

enter image description here

enter image description here

permission resource仅允许您设置用户是否有权访问文件,而不是他们可以使用的功能。

以上是关于如何在使用Google Drive API V3与他人共享时设置文件的功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google Drive 上传和下载文件(使用 Rest Api v3)

使用 Java 和 Google Drive API V3 将文件上传到共享的 Google Drive 位置?

Javascript - Google Drive v3 API和功能

Google Drive API v3-将文档转换为pdf

如何在分页和使用 order by 时列出 Google Drive API v3 上的所有根文件夹和共享?

Google Drive API v3 Python文件中缺少某些文件()。list()