【问题标题】:How to "Add guest" to event via google calendar API?如何通过谷歌日历 API“添加客人”到活动?
【发布时间】:2012-08-01 08:17:24
【问题描述】:

您能否给我一个关于如何通过谷歌日历 api 共享单个事件的提示?

也就是说,我想邀请其他用户以编程方式查看活动,而不共享整个日历。模仿“添加客人”的 UI 动作

【问题讨论】:

    标签: google-calendar-api


    【解决方案1】:

    您可以使用 API 将人员添加到 attendees 集合:

    https://developers.google.com/google-apps/calendar/v3/reference/events/update

    【讨论】:

    • 似乎这将替换阵列,如果旧客人不属于新阵列,则将其移除。有没有办法添加客人(而不是删除任何客人)而不必获取旧数组的值?
    【解决方案2】:

    正如 Claudio 所说,您需要为此使用 Google Calendar Advanced API。

    您需要使用patch,因为您不想替换日历邀请中的所有其他数据。但是,即使在 patch 的情况下,由于与会者居住在一个数组中,如果您尝试传递这样的补丁:

    {
      attendees: [ { email: "new@example.com"} ]
    }
    

    ...它将替换所有旧受邀者(即,它将删除在您致电 patch 之前已加入邀请的任何人)。要解决此问题,您必须首先获取当前受邀者,将新人添加到数组中,然后发送patch

    您可以在 this answer 中查看详细示例,该示例还解释了如何使用 Google Apps 脚本确保在将用户添加到日历事件时向用户发送电子邮件(请参阅该帖子中的 addGuestAndSendEmail() 方法)。

    【讨论】:

      【解决方案3】:

      参考以下请求。

      方法: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" //这家伙是客人 } ] }。

      之后,无需任何补丁方法,您的客人将在更新活动时收到邀请

      干杯!

      【讨论】:

        猜你喜欢
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-20
        • 1970-01-01
        • 2020-08-06
        相关资源
        最近更新 更多