tributemedia / google_calendar_events
从配置的Google日历中创建事件节点。
Requires
- google/apiclient: ~2.12
README
此Drupal 9模块同步本地创建的事件
节点与配置的Google日历。
功能
- 从配置的日历的Google日历API检索事件,并为每个事件创建一个
事件
节点。 - 当配置的日历上的时间更新时,该变化最终将被检测并在相应的Drupal
事件
节点中更新。 - 包含一个开箱即用的视图来显示日历视图中的
事件
节点。
安装
在安装模块之前,您需要先安装一些依赖项。您需要以下Drupal模块
- Full Calendar View
- Key
- Smart Date
- Smart Date Recur(包含在Smart Date中)
安装这些之后,继续安装模块本身
composer require tributemedia/google_calendar_events
安装后,请确保安装名为google/apiclient
的最后一个composer依赖项。如果您在安装模块时没有看到它被安装,您需要安装它。
composer require google/apiclient
最后,您可以在Drupal界面中安装模块了!继续这样做,现在应该没有问题。
配置
服务帐户和密钥
现在模块已经安装,在使用之前必须配置。如果您还没有这样做,请转到Google控制台创建一个项目,在该项目中创建一个服务帐户,然后给它一个服务密钥。如果您不知道如何操作,请参阅以下说明
有了这些之后,在管理菜单中,转到配置 -> 系统 -> 密钥。选择“添加密钥”。按照以下方式填写
- 密钥名称:Google日历服务密钥(重要:密钥名称必须与此完全匹配,并且机器名称为google_calendar_service_key。如果没有检测到此名称的密钥,模块将无法工作!)
- 密钥类型:认证。
- 密钥提供者:配置。
- 密钥值:复制您获得的服务密钥并将其粘贴在此处。
如果列表中未包含字段,则可以将其留空。您现在可以保存,密钥将可供模块使用。
关于服务帐户的最后一件事情!您需要将您想要同步的日历与该服务帐户共享。Google中的每个服务帐户都有一个关联的、看起来像垃圾邮件的电子邮件地址。您需要找到它并将相关的日历与其共享。
模块配置
现在我们可以配置模块本身了!在管理菜单中,转到配置 -> 网络服务 -> Google日历事件设置。如果您正确配置了服务密钥,您将看到一个提示您输入API主题的消息。这只是一个管理您创建的服务帐户的人的电子邮件地址。在此字段中提供,保存,如果一切配置正确,您将获得额外的、不言自明的选项!如果您有权限访问多个日历,可以选择多个日历。
用法
配置模块后使用非常简单!事件将自动每12小时同步一次,但如果您希望更早地运行(尤其是对您的第一批事件!),则可以导航到“配置”->“网络服务”->“Google日历事件状态”。在这里,点击“检查事件”按钮,您将为模块检查事件排程了一个cron作业。然后,您可以运行cron以获取事件。
您还可以访问一个内置的视图来显示事件,一旦您有了它们。该视图在路径/events
处配置了页面显示。
Cron工作流程
如果您对cron工作流程感兴趣,有两个工作者。第一个在工作被排程到google_calendar_events_ccq
时,检查新事件或更新的事件。CCQ代表日历检查队列。
如果CCQ工作者检测到新事件或需要更新现有事件,就会在google_calendar_events_ceq
上排程一个作业。CEQ代表日历事件队列。CEQ的工作是创建一个新的事件,或更新现有的一个事件,带有新的开始和/或结束时间。