有没有办法修改从外部应用程序在Google日历中创建的事件?

SAP*_*chu 14 calendar oauth google-calendar-api google-api google-oauth

我们正在构建一个活动管理应用,我们正在调查是否可以让我们的用户直接通过Google日历创建活动.目前我们的工作流程是

  1. 用户在Google日历中创建活动
  2. 用户添加我们的电子邮件地址作为活动的嘉宾
  3. 我们从Google日历接收活动通知邮件,并在我们的系统中注册活动.

现在,我们希望允许用户在我们的应用仪表板上编辑活动详细信息(特别是说明和位置),问题就出现了:我们如何在用户日历中更新活动?

我尝试使用iMiP邮件但失败了,我尝试增加序列号,并将ORGANIZER字段更改为我们自己的邮件地址,即使我在Google日历中将该事件标记为可由客户修改,也无法通过我们的邮件更新该事件.(更新:附上我的测试代码的最新版本,我在邮件中遗漏了什么?)我们还尝试将更新的事件作为常规ICS文件附件(直接通过GMail)发送,也失败了.

另一方面,如果我们更改UID事件ICS文件,将其作为常规附件发送,并将其导入Google日历,则此后(新)事件可由后续ICS文件更新UID.但是,我们不希望以这种方式实现,因为它在用户的日历中创建了一个新事件.

所以我的问题是,除了使用谷歌的日历API(如果没有其他好的方法来实现这一点,这是我们的最后手段),有没有办法从我们的应用程序更新用户的事件?

DaI*_*mTo 6

您的应用程序能够编辑活动的唯一方法是使用Google Calendar API.

您将不得不使用Oauth2验证用户是否可以访问相关日历.使用events.list搜索事件可能会添加q tearm来搜索超过日期的事件.

一旦你有问题的事件,你应该看看events.patch补丁让你更新事件中的选定字段,而不是一个完整的event.update,这将要求你更新事件中的所有字段.

  • 实际上[RFC6047](https://tools.ietf.org/html/rfc6047)和[RFC2446](http://tools.ietf.org/html/rfc2446)描述了一种通过电子邮件更新事件的方式(就像我在我的问题中提到).但是我们问过谷歌的某个人他说不支持iMiP,所以我想我们还是会使用Google API. (2认同)