首页 文章

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

提问于
浏览
2

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

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

我的问题: is there a way to add users to the list of accounts that have writing permission for this calendar using the JavaScript API? 显然,我不想在日历设置页面上手动添加每个帐户的电子邮件 .

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

1 回答

  • 1

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

    分配给范围的角色 . 可能的值为:“none” - 不提供访问权限 . “freeBusyReader” - 提供对忙/闲信息的读访问权 . - “阅读器” - 提供对日历的读取权限 . 私人活动将显示给具有读者访问权限的用户,但会隐藏活动详细信息 . “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);
    });
    

相关问题