你可以告诉我如何通过谷歌日历api分享单个活动吗?
这就是我想邀请其他用户以编程方式查看活动而不共享整个日历。模仿“添加来宾”UI操作
答案 0 :(得分:2)
您可以使用API将人员添加到attendees
集合中:
https://developers.google.com/google-apps/calendar/v3/reference/events/update
答案 1 :(得分:2)
正如克劳迪奥所说,您需要为此使用Google Calendar Advanced API。
您将要使用patch
,因为您不想替换日历邀请中的所有其他数据。但是,即使在patch
的情况下,由于与会者都住在一个数组中,因此如果您尝试传递如下补丁:
{
attendees: [ { email: "new@example.com"} ]
}
...它将替换所有旧的受邀者(即,它将删除您在致电patch
之前在邀请中的任何人)。要解决此问题,您必须首先获取当前的被邀请者,向阵列添加一个新人员,然后发送patch
。
您可以在this answer中看到详细的示例,该示例还说明了如何使用Google Apps脚本来确保在将用户添加到日历事件中时向用户发送电子邮件(请参见addGuestAndSendEmail()
该帖子中的方法)。
答案 2 :(得分:0)
请参阅以下请求。
方法:开机自检
端点:https://www.googleapis.com/calendar/v3/calendars/primary/events?sendUpdates=all
在这里,sendUpdates表示当您添加任何访客时,他将获得根据方案使用的邀请邮件。
输入Json: { “ kind”:“ calendar#event”, “ etag”:“ etag”, “ status”:“已确认”, “ summary”:“ JayKara”, “ description”:“ eqwbdjhwhhwhhwrhjehrhejhfj”, “ location”:“ America”, “创建者”:{ “电子邮件”:“ @ mail.com”, “自我”:真实 }, “组织者”:{ “ email”:“ @ mail.com”, “自我”:真实 }, “开始”:{ “ date”:“ 2019-12-23” }, “结束”: { “ date”:“ 2019-12-24” }, “ originalStartTime”:{ “ date”:“ 2019-12-24” }, “可见性”:“公开”, “参与者”:[ { “ email”:“ ****@mail.com” //这是客人 } ] }。
此后,无需使用任何补丁方法,每次更新事件您的来宾都会收到邀请
干杯!