Google Calendar API - 使用多个帐户登录时,事件的 htmlLink 属性无法正常工作

Vit*_*ian 5 google-apis-explorer

我想显示日历事件的链接。我从 Google Calendar API 获取链接作为Event对象 \xe2\x80\x94htmlLink属性的一部分。

\n\n

当用户满足以下条件时就会出现该问题:

\n\n
    \n
  • 他们通过多个 Google 帐户(例如,私人帐户和工作帐户)登录
  • \n
  • 主帐户与有权访问相关日历的帐户不匹配
  • \n
\n\n

接下来发生什么:

\n\n
    \n
  • 当提到的用户单击该链接时,他们将被带到其主帐户的日历,而不是与事件关联的日历。这自然会导致权限错误。
  • \n
  • 当用户复制 URL,然后转到他们的日历,然后将其帐户切换到辅助帐户手动插入 URL时,它就会起作用。
  • \n
\n\n

你们知道有一种用户友好的方法来缓解这个问题吗?

\n

Kon*_*Kao 0

我刚刚发现:

在API中我们得到htmlLink

https://www.google.com/calendar/event?eid=[\w+]
Run Code Online (Sandbox Code Playgroud)

修改为:

https://calendar.google.com/calendar/event?action=VIEW&eid=[\w+]
Run Code Online (Sandbox Code Playgroud)

新链接将不同的用户引导至不同的页面:

  • 对于登录的用户,位置将被重定向到他们自己的日历页面,并且网页内会出现一个弹出窗口以显示事件信息。
  • 对于未使用任何 Google 帐户登录的客户端,不会进行重定向并显示传统页面。

例如:https://calendar.google.com/calendar/event ?action=VIEW&eid=OGxnZ2loODc5YWU0NzM5aGc1YWtkZmxsZzhfMjAyMjEwMjlUMDUzMDAwWiB0YWl3YW5oYW5kam9iQG0


对于那些不使用 Google API 但想要指向单个活动的链接的人:使用publish event活动菜单中的功能获取带有 的 URL eid,然后手动修改 URL。