【发布时间】:2021-05-26 13:19:09
【问题描述】:
有没有一种简单的方法可以让我使用 Javascript 让用户将系统事件添加到他们的 Google 日历事件中?我这里需要完成的是,当用户点击日历上的事件时,会弹出提示用户登录谷歌(OAuth 2.0),然后用户将被重定向到谷歌页面进行创建事件。而用户将添加的事件数据是通过 Javascript 发送的。我使用来自 https://fullcalendar.io/js/fullcalendar-3.6.1 的 Fullcalendar。 我已经浏览了 fullcalendar.io 文档,但我找不到如何做到这一点。 任何链接供我参考?我需要来自 Google 的 API 来允许我执行此操作。
【问题讨论】:
-
“重定向到 Google 页面以创建活动。”好吧,您可以这样做,但用户必须重新键入数据。您可能正在寻找的是 Google 日历 API (developers.google.com/google-apps/calendar),它允许您在不使用 Google GUI 的情况下以编程方式操作日历数据。用户可以使用 fullCalendar 作为 GUI,然后在他们选择事件时编写代码通过 API 在后台将其发送给 Google。用户唯一需要做的就是先登录他们的帐户。
-
但是没有“简单”的解决方案,您必须自己编写集成代码(除非有人已经编写了这样的工具来与 Google / FullCalendar 集成,也许您可以 google它)。基本上,您只需在 fullCalendar 中处理 eventClick,然后通过 ajax 调用 Google API——API 文档中提供了 JS 库和示例。所以它并不“简单”,但我也不会说它特别“难”。如果您有问题,请在此处发布您的尝试,以便有人可以帮助您解决它。
-
您回答了我的问题,但您共享的链接已被访问,我无法在此处找到指南。只有一个我一直在使用的“events.insert”api。但这是以编程方式添加,而不是向 Google 的事件创建页面弹出对话框。
-
为什么要将它弹出到创建活动页面?我已经说过这不是一个好方法。即使您将用户重定向到正确的页面,1) 也无法将数据自动插入到该页面的输入字段中(因为这需要对该页面进行脚本注入攻击),以及 2) 即使您解决了也就是说,当您可以直接将数据插入他们的日历中,而无需任何努力时,用户必须做一个完全不必要的步骤来确认它。我不明白你为什么要那样做,它只会给每个人增加额外的工作。
-
因为我的客户希望这样。如果真的无法做到这一点,我想我会创建自己的对话框,弹出并提示用户确认,并以编程方式使用 calendar.events.insert API。
标签: fullcalendar