如何解决如何设置“具有链接的所有人”可以通过API编辑对Google Spreadsheet的权限 修改点:修改后的脚本:参考:
我具有以下代码来设置文件权限,如何将其更改为具有链接的任何人都可以编辑权限?
function setPermissions($fileId,$email){
$client2 = new \Google_Client();
$client2->setApplicationName('Give permissions');
$client2->setScopes([\Google_Service_Drive::DRIVE]);
$client2->setAccessType('offline');
$client2->setAuthConfig('credentials.json');
$tokenPath = 'token.json';
if (file_exists($tokenPath)) {
$accessToken = json_decode(file_get_contents($tokenPath),true);
$client2->setAccessToken($accessToken);
}
$client2->setPrompt('select_account consent');
$service2 = new Google_Service_Drive($client2);
$newPermission = new Google_Service_Drive_Permission();
$newPermission->setEmailAddress($email);
$newPermission->setType('user');
$newPermission->setRole('writer');
$service2->permissions->create($fileId,$newPermission);
}
解决方法
我相信您的目标和情况如下。
- 您要使用googleapis for php与创建者“具有链接的人”创建权限。
- 您可以使用Drive API获取和放置文件。
修改点:
- 在这种情况下,请将
anyone
设置为type
并删除setEmailAddress($email)
。
修改后的脚本:
修改脚本后,请进行以下修改。
从:$newPermission = new Google_Service_Drive_Permission();
$newPermission->setEmailAddress($email);
$newPermission->setType('user');
$newPermission->setRole('writer');
至:
$newPermission = new Google_Service_Drive_Permission();
$newPermission->setType('anyone');
$newPermission->setRole('writer');
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。