如何在与使用 Google 驱动器 API V3 的人共享时设置文件的功能?
How to set capabilities for a file while sharing with someone using 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
所以,基本上我的问题是如何禁用 reader 的下载、复制、打印选项,我已经使用驱动器 API 与之共享了我的 google 驱动器文件?
如果您查看 fileresource You will notice that neither of those fields are writable. So doing a file.update 的文档并且设置这些字段将无效。我不认为你可以在创建文件时设置它们,因为如果你正在创建它,你可以下载和复制它是有意义的。这些字段更有可能供 Google 内部使用。
a permission resource 只允许您设置用户是否可以访问该文件,而不是他们可以用它做什么。
我想在与使用 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
所以,基本上我的问题是如何禁用 reader 的下载、复制、打印选项,我已经使用驱动器 API 与之共享了我的 google 驱动器文件?
如果您查看 fileresource You will notice that neither of those fields are writable. So doing a file.update 的文档并且设置这些字段将无效。我不认为你可以在创建文件时设置它们,因为如果你正在创建它,你可以下载和复制它是有意义的。这些字段更有可能供 Google 内部使用。
a permission resource 只允许您设置用户是否可以访问该文件,而不是他们可以用它做什么。