为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用编程创建启用公共访问的谷歌表格

如何使用编程创建启用公共访问的谷歌表格

PHP
MMMHUHU 2022-12-23 16:36:04
我正在尝试创建一个使用 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
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

  • 要以编程方式创建权限,您需要方法Permissions: create

  • 一旦你有了sheet_id,创建一个权限permissions->insert()

  • 根据需要指定角色(例如reader,,writer...)

  • 对于文件的 pulib 可用性 - 将类型指定为anyone

示例如何在 php 中实现它:

$newPermission= new Google_Service_Drive_Permission();

$newPermission->setType('anyone');

$newPermission->setRole('reader');

$service->permissions->insert($sheet_id,$newPermission);


查看完整回答
反对 回复 2022-12-23
?
慕沐林林

TA贡献2016条经验 获得超9个赞

这是设置/更改文件权限的代码。此代码也可以更新 google 电子表格的权限。我花了很多时间。因此,任何发现很难获得将 google 电子表格公开/any_permission 的任何解决方案的人,都可以参考此代码。您可以进一步参考Google Drive API v3 permissions。


        $service = new Google_Service_Drive($client);

        $permission = new Google_Service_Drive_Permission();

        $permission->setRole( 'reader' );

        $permission->setType( 'anyone' );

        $service->permissions->create( $spreadsheetId, $permission );


查看完整回答
反对 回复 2022-12-23
?
慕森卡

TA贡献1806条经验 获得超8个赞

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

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

公开表格只是意味着任何人都可以下载和查看它,并可能通过表格网络应用程序进行更改。使用 API 更改它需要访问权限。

您可以创建一个工作表,然后使用 google drive api 更新工作表上的权限以将其公开,但这同样不会使您能够写入它。



查看完整回答
反对 回复 2022-12-23
  • 3 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号