tributemedia / google_reviews_testimonials
扩展了推荐模块,以包括Google我的商业评论。
Requires
- google/apiclient: ~2.12
README
摘要
此Drupal 9模块提供了系统从Google我的商业(GMB)下载评论并将其转换为Tribute Media的推荐实体的功能。
功能
- 自动从GMB API下载评论并将其转换为推荐。
- 最低评论星级阈值可以配置,以便模块根据星数过滤评论。
- 为推荐节点添加了一个星级字段,开发人员可以使用它来在节点显示或视图中显示星级。
- 评论状态页面,可以查看队列大小和其他模块信息。
安装和配置
这是一个Drupal 9模块,其中包含可能不存在于Drupal 8中的代码。仅用于Drupal 9!
在尝试安装此模块之前,请确保已安装Tribute Media Testimonial模块。之后,只需像在Drupal中安装任何其他composer管理的模块一样安装此模块
composer require tributemedia/google_reviews_testimonials
安装后,转到配置 -> 网络服务 -> GMB服务连接设置。提供服务密钥(从Google管理控制台获得),并提供主题(组织内有权使用服务帐户的用户的电子邮件地址)。然后,单击保存按钮,'帐户'的禁用字段应现在已填充值。
接下来,导航到配置 -> 网络服务 -> GMB位置设置。在'位置名称'字段中提供业务名称(如Google我的商业中所示)。此外,如果不喜欢默认值3,请更改'星级最低'。任何星级数量指定在此字段中或更高的评论都将下载并发布为推荐。完成此操作后,单击保存按钮,现在'位置ID'字段应具有值。
完成所有上述步骤后,您需要在任何和所有显示上配置field_testimonials_num_stars
字段,包括推荐节点表单显示。
使用方法
请确保完成配置部分中概述的步骤!完成这些后,您只需等待下一次Cron运行以进行第一次自动下载评论。如果您不想等待,您可以通过转到配置 -> 系统 -> Cron来手动启动Cron运行。如果您的业务有大量评论,它们可能不会在第一次运行中全部下载和创建。您可以随时再次运行Cron,直到所有符合最低星级阈值的评论都下载并创建为推荐。
如果您想手动启动下载,请转到配置 -> 网络服务 -> Google评论推荐状态。从该页面您将能够查看当前队列的状态,并手动排队工作。要运行工作,只需运行Cron。
Cron工作流程
这是从评论下载到推荐创建的整个Cron工作流程管道的高级但技术性详细分解。如果您想了解模块的Cron工作流程如何特别工作,请继续阅读。
触发评论检查
没有队列,模块文件中定义了cron作业
运行间隔: 12小时
工作流程的第一步。与其他cron作业不同的是,这个作业不是由QueueWorker
完成的。这个cron作业的一个简单目的是:将作业排队到下一个步骤的worker,检查新的评论。当作业由这个worker排队时,不提供pageToken
的值,这将导致评论检查器在第一次运行时获取第一页的评论。当然,这正是我们希望在第一次运行时看到的结果。
新评论检查
队列ID: google_reviews_testimonials_rcq
(rcq = 评论检查队列)
运行时间: 30秒
参数
pageToken
(字符串) - 分页值,必须提供给API以检索下一组评论(如果适用)。可选。
接下来,从API查询配置位置的20条GMB评论。如果没有与评论ID相关的TestimonialGMBReviewEntity
,则为下一个步骤的worker创建一个新的作业来创建新的评论。
对于从API检索的每个评论ID,重复此步骤。如果第一次查询中检索到的评论多于20条,则为该队列的worker创建一个新的作业,使用API提供的pageToken
作为参数。由于这是一个单独的作业,它将不会在Cron的下一个运行中处理。这一步自然地重复,直到检查完API中的每个评论,无论需要多少分页。
评论创建与链接
队列ID: google_reviews_testimonials_rlq
(rlq = 评论链接队列)
运行时间: 30秒
参数
reviewID
(字符串) - 评论ID。 必需。
displayName
(字符串) - 评论者的Google显示名称。 必需。
starRating
(整数) - 星级评分。 必需。
comment
(字符串) - 评论(在GMB中称为评论)。 必需。
这是工作流程的最后一个步骤。它首先创建一个新的评论,包含上述指定的详细信息(注意,评论者没有位置信息,这不是API提供的)。如果需要,将评论修剪到150个字符以下作为评论的摘要。否则,评论将用于评论的摘要和评论字段。
创建评论后,还会创建一个TestimonialGMBReviewEntity
,以链接评论和GMB评论的关联。
最后,根据评论的星级数和模块设置中的最低星级阈值,评论可能会或可能不会被发布。如果星级评分等于或大于模块设置,则发布评论。否则,它不会被发布。
贡献指南
当向模块贡献时,从dev
创建一个分支,包含与您正在工作的错误或功能的编号相关的问题。不要从master创建分支!从那里,在您的分支中进行更改,并在您觉得它准备好测试时将其集成到dev分支中。然后可以进行测试,如果需要,还可以进行代码审查。一旦批准,您的更改将准备好用于下一个版本。