【发布时间】:2012-08-01 08:17:24
【问题描述】:
您能否给我一个关于如何通过谷歌日历 api 共享单个事件的提示?
也就是说,我想邀请其他用户以编程方式查看活动,而不共享整个日历。模仿“添加客人”的 UI 动作
【问题讨论】:
您能否给我一个关于如何通过谷歌日历 api 共享单个事件的提示?
也就是说,我想邀请其他用户以编程方式查看活动,而不共享整个日历。模仿“添加客人”的 UI 动作
【问题讨论】:
您可以使用 API 将人员添加到 attendees 集合:
https://developers.google.com/google-apps/calendar/v3/reference/events/update
【讨论】:
正如 Claudio 所说,您需要为此使用 Google Calendar Advanced API。
您需要使用patch,因为您不想替换日历邀请中的所有其他数据。但是,即使在 patch 的情况下,由于与会者居住在一个数组中,如果您尝试传递这样的补丁:
{
attendees: [ { email: "new@example.com"} ]
}
...它将替换所有旧受邀者(即,它将删除在您致电 patch 之前已加入邀请的任何人)。要解决此问题,您必须首先获取当前受邀者,将新人添加到数组中,然后发送patch。
您可以在 this answer 中查看详细示例,该示例还解释了如何使用 Google Apps 脚本确保在将用户添加到日历事件时向用户发送电子邮件(请参阅该帖子中的 addGuestAndSendEmail() 方法)。
【讨论】:
参考以下请求。
方法:POST
端点:https://www.googleapis.com/calendar/v3/calendars/primary/events?sendUpdates=all
这里,sendUpdates 表示当您添加任何客人时,他会收到根据场景使用的邀请邮件。
输入Json: { “种类”:“日历#事件”, “etag”:“etag”, “状态”:“确认”, “总结”:“杰卡拉”, "描述": "eqwbdjhwhhwhhwrhjehrhejhfj", “位置”:“美国”, “创造者”:{ "电子邮件": "@mail.com", “自我”:真实 }, “组织者”: { "电子邮件": "@mail.com", “自我”:真实 }, “开始”: { “日期”:“2019-12-23” }, “结尾”: { “日期”:“2019-12-24” }, “原始开始时间”:{ “日期”:“2019-12-24” }, “知名度”:“公开”, “与会者”:[ { "email": "****@mail.com" //这家伙是客人 } ] }。
之后,无需任何补丁方法,您的客人将在更新活动时收到邀请
干杯!
【讨论】: