php - 如何使用编程创建具有公共访问权限的谷歌表格
问题描述
我正在尝试创建一个使用 PHP 启用公共访问的 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
解决方案
- 要以编程方式创建权限,您需要方法Permissions: create
- 一旦你有了
sheet_id
,创建一个权限permissions->insert()
- 根据需要指定角色(例如
reader
,writer
...) - 对于文件的公开可用性 - 将类型指定为
anyone
示例如何在 php 中实现它:
$newPermission= new Google_Service_Drive_Permission();
$newPermission->setType('anyone');
$newPermission->setRole('reader');
$service->permissions->insert($sheet_id,$newPermission);
推荐阅读
- javascript - 以类似通量的方式更新数组状态
- validation - 异步/等待电子邮件验证
- julia - DifferentialEquations.jl 在特定点的输出
- jquery - 使用带有 Rails 的 JQuery 表单提交时如何抑制 Turbolinks 响应?
- sql-server - 数据库增长 - 如何处理大表
- c++ - 如何将 wstring 中的 Unix 时间戳转换为 char 数组中的格式化日期
- c - 存储 fftwf_plans 数组?
- c# - 在通用 HTTPClient 类中添加错误处理
- sql - MAX函数在一列上,返回所有列
- python - MacOS Mojave 上的“没有名为 Django 的模块”问题