0

我想通过脚本授予对我的网站的访问权限,对于谷歌文档,我可以从 url 获取 id:https ://docs.google.com/document/d/ <doc_id>/edit
并执行以下操作:DriveApp.getFileById ('<doc_id>').addViewer(emailid);

但对于谷歌网站,我得到了这种格式:
https://sites.google.com/d/<id_1>/p/<id_2>/edit
我尝试使用 id_1 和 id_2 但两者都不起作用。

谁能帮我?

谢谢

4

1 回答 1

1

用于 Google 协作平台的正确文件 ID 是 <id_1>。您无法将查看者添加到站点的原因是因为与 Google 文档不同,Google 协作平台没有查看者共享选项。相反,它使用已发布的查看器选项

示例:3 个具有不同访问权限的用户 (在此示例中我使用的是新的 Google 协作平台)

在此处输入图像描述

示例代码:

function myFunction() {
  Logger.log(DriveApp.getFileById('id_1').getViewers());
  Logger.log(DriveApp.getFileById('id_1').getEditors());
}

日志:

[21-01-07 00:52:50:404 HKT] []
[21-01-07 00:52:50:719 HKT] [DriveUser]

如果您想为您的 Google 站点设置查看者,您可以使用Apps 脚本中的站点服务。但是,您只能将Site.addViewer(emailAddress)用于经典网站。

注意:站点的重建版本于 2016 年 11 月 22 日推出。Apps 脚本目前无法访问或修改使用此版本创建的站点,但脚本仍然可以访问经典站点。

(更新)

目前,没有其他选项可以通过 Apps 脚本或 API 更新 Google 协作平台。

基于此参考:API Google 站点何时可用?

新版本的 Google 协作平台目前不提供 API,但 Google 已宣布将提供包括 Google Apps 脚本集成在内的 API 功能。

有关更多详细信息,请参阅弃用时间表 - 经典 Google 协作平台

Google 没有提供功能可用的日期,因此您找不到。

于 2021-01-06T17:10:39.943 回答