【问题标题】:How to set "anyone with the link" can edit permission on a Google Spreadsheet via API..PHP preferred如何设置“任何有链接的人”可以通过 API 编辑 Google 电子表格的权限..PHP 首选
【发布时间】:2020-09-16 21:18:32
【问题描述】:

我有以下代码用于设置文件权限,如何将其更改为任何拥有链接可以编辑权限的人?

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);
}

【问题讨论】:

    标签: php google-sheets-api


    【解决方案1】:

    我相信你的目标和你的情况如下。

    • 您希望使用 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');
    

    参考:

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多