繁体   English   中英

Google Calendar JavaScript API,将用户添加到具有“写入”权限的日历中

[英]Google Calendar JavaScript api, add user to a calendar with “write” access

我正在开发一个与Google日历相关联的网站。 该网站使用Google的JavaScript API检索公共日历的事件并在网站上呈现它们。 我现在能够创建新活动,更新活动并从我的网站中删除活动,并在Google日历中更新没有任何问题。

如果我能够编辑此日历信息是因为我的Google帐户对此特定日历具有读/写权限。

我的问题: 有没有办法使用JavaScript API将用户添加到具有此日历写入权限的帐户列表中? 显然,我不想在日历设置页面上手动添加每个帐户的电子邮件。

我能做什么? 我是否需要制作一个ACL规则插入(没有太多关于JavaScript的文档)或类似的东西?

使用Acl:insert,您可以添加具有“writer”或“owner”权限的用户,该权限授予用户对日历的读写权限。

分配给范围的角色。 可能的值是:

  • “无” - 不提供访问权限。
  • “freeBusyReader” - 提供对忙/闲信息的读访问权。
  • “reader” - 提供对日历的读取权限。 私人活动将显示给具有读者访问权限的用户,但会隐藏活动详细信息。
  • “writer” - 提供对日历的读写访问权限。 具有编写者访问权限的用户将看到私有事件,并且可以看到事件详细信息。
  • “所有者” - 提供日历的所有权。 此角色具有writer角色的所有权限,并具有查看和操作ACL的附加功能。

在同一页面上使用API​​ Explorer我能够成功发出此请求:

POST https://www.googleapis.com/calendar/v3/calendars/12345@group.calendar.google.com/acl?key={YOUR_API_KEY}

{
 "role": "writer",
 "scope": {
  "type": "user",
  "value": "user@example.com"
 }
}

您可以将它与Google API Javascript客户端一起使用,如下所示:

var calendarid = "12345@group.calendar.google.com";
var req = {
  "calendarId": calendarid,
  "resource": {
    "role": "writer",
    "scope": {
      "type": "user",
      "value": "user@example.com"
    }
  }
}
var request = gapi.client.calendar.acl.insert(req);
request.execute(function(resp) {
  console.log(resp);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM