![](/img/trans.png)
[英]Google API (Javascript) - Add calendar to calendarList manually
[英]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.