如何使用编程功能创建具有公共访问权限的Google表格

问题描述 投票:0回答:2

我正在尝试创建一个使用PHP启用公共访问的Google表格。目前,我正在为新插入的代码生成Google工作表。用户可以下载Google工作表。

但是现在我想给默认权限公开,以通过代码动态创建Google表格。在Google工作表中可以吗?

这里是代码

// Creating new spreadsheet
$spreadsheet = new Google_Service_Sheets_Spreadsheet([
    'properties' => [
        'title' => "$sheet_name"
    ]
]);
$spreadsheet = $service->spreadsheets->create($spreadsheet, [
    'fields' => 'spreadsheetId'
]);
$sheet_id = $spreadsheet->spreadsheetId;

//End Creating new spreadsheet

php google-sheets google-api google-sheets-api
2个回答
0
投票

如果您打算使用API​​密钥来更改工作表。答案是你不能。

您需要通过Oauth2或服务帐户进行身份验证访问。使用以下范围之一使用API​​进行任何更改。

[公开工作表仅表示任何人都可以下载并查看它,并且很可能可以通过“工作表”网络应用程序进行更改。使用API​​进行更改需要访问权限。

您可以创建工作表,然后使用Google Drive API来更新工作表上的permissions以将其公开,但是那也无法使您对其进行写操作。


0
投票
  • 为了以编程方式创建权限,您需要方法Permissions: create
  • 一旦有了sheet_id,请使用permissions->insert()创建权限>
  • 根据需要指定角色(例如readerwriter,...]
  • 对于文件的pulib可用性-将类型指定为anyone
  • 示例如何在php中实现它:

$newPermission= new Google_Service_Drive_Permission();
$newPermission->setType('anyone');
$newPermission->setRole('reader');
$service->permissions->insert($sheet_id,$newPermission);
© www.soinside.com 2019 - 2024. All rights reserved.