Webhook 已暂停 - 请求失败 - 之前正常

上次我只是重新创建了 webhook,它运行了一段时间。
奇怪的是,在测试页面上,只有已弃用的事件能通过测试,其他事件则没有任何报告。

我以为目前只有已弃用的事件能正常工作?无论如何,这份指南确实应该更新一下,以明确说明已弃用的 Webhook。

1 个赞

我也是这么理解的,v1 接口和已弃用的网络钩子
一开始还能用,但 Patreon 随后因错误将其暂停了。

1 个赞

等等,我也是!我回复后它又恢复正常了。但现在显示因错误而暂停。当我单独测试时,却显示 200 OK。我不明白这是怎么回事。

所以我怀疑是 Patreon 发送了 Discourse 无法识别并忽略的内容,随后 Patreon 暂停了 webhook。

1 个赞

看起来是这样——有没有@staff 的想法?

这毫无意义。如果测试响应返回 200 状态码,它就不应该失败。你能在 /logs URL 中看到任何错误吗?如果没有更多细节,很难调试这个问题。

1 个赞

嗯,我觉得你漏掉了一些上下文:

我回复后它又正常工作了。但现在它显示“已暂停,存在错误”。当我单独测试时,它显示 200 OK。我不明白这是怎么回事。

这部分与 200 状态码的截图相关。上面显示“已暂停”,而测试显示 200。这实际上看起来像是 Patreon 的一个 bug?

@dylanh724 我在测试时一切正常。为了排查此问题,我需要更多详细信息。请重新启用 Webhooks,并告知我在 /logs 网址中是否看到任何相关错误。

1 个赞

你好 @dylanh724

我已添加对新版本 2 网络钩子的支持。请在实时环境中测试一下。请使用触发器 “members:pledge:create”、“members:pledge:update” 和 “members:pledge:delete” 来替代已弃用的触发器。

2 个赞

谢谢!:slight_smile: 已更新。不过很奇怪,当我尝试时实际上没有任何反应:

我确认已关闭弹窗拦截器,但即便如此,控制台至少应该显示点什么。我在想是不是 Patreon 的 API 出问题了?我先往上翻一下看看在哪里查看日志,稍后回来。

好的,已通过 forum.{mySite}.com/logs 找到了日志:

…点击“继续”后,什么都没有(nada):

看起来 Patreon 甚至没有尝试执行任何操作。

除了通用按钮外,我还尝试了 recordit 中的同一个单独测试:

image

日志里依然什么都没有 O_O

补充一下:

即使是回到那些会发送响应的已弃用接口(也许你们的新接口忘记返回成功状态码了?),我确实收到了 200 响应……但 Patreon 在点击“继续”时仍报错,这完全说不通。

就连那些返回 200 的(已弃用的)回调钩子,在日志中也显示没有任何记录。是不是有什么默认过滤器阻止了 Patreon 测试的日志记录?

不,你应该只使用“members:pledge:create”,而不是“members:create”,就像我上面提到的那样。

没有。

我认为你应该在 Patreon 网站上删除整个 Webhook 端点,然后重新添加它。

1 个赞

删除了钩子 >> 重新创建 >> 更换了钩子密钥 >> members:pledge:create >> 测试没有返回状态码(与已弃用的版本不同,后者返回 200 状态码)。

目前尚未提及它无法工作,但我认为这需要几个小时。

1 个赞

相关:我曾让一位测试者进行捐赠,但无法将其关联。不确定是否是 webhook 的问题,但我发现现有启用双重验证(2FA)的用户无法关联“关联账户”(Patreon),原因不明(是 bug?)。此外,文档中未明确说明账户是通过匹配邮箱进行关联的——但该测试者的邮箱与 Patreon 邮箱不同,导致出现问题。

如果您正在阅读此内容并测试修复方案,请知悉。

跟进一下,我在 Webhooks 上没有收到错误。看起来……修复了?也许?目前我没有测试人员。

不过,我仍然感到不安,因为没有返回码(例如 200):点击测试按钮似乎没有任何反应(只是没有返回码)。新版本是否不再返回任何 HTTP 状态码?

@dylanh724 升级插件后,能否请您再次尝试 v2 网络钩子?

另外,我已在 beta 分支中将整个插件转换为支持 Patreon v2 API。目前该功能尚不稳定。如果方便的话,您可以进行测试并提供反馈。为此,您需要使用 v2 API 凭据。

2 个赞

好的,我很快就会尝试一下。在升级之前,先总结一下您可能已经了解的背景情况:

  • 功能实际上在运行,但显示为未运行。
  • 用户已成功同步到 Patreon 群组。
  • 很可能是因为未返回 200 成功状态码:
    1. 测试挂钩(hooks)时没有任何反应。
    2. 一两天后,Patreon 会发送邮件通知您挂钩已失效。
    3. ^ 我认为这是一个误报,因为同步本身是正常的,只是没有返回状态码。不过,这个误报可能在几天后导致挂钩被完全禁用。我无法确认目前是否仍在工作(测试用户已经同步)。
  • 启用双重验证(2FA)的用户(即未通过 Patreon 按钮注册的老用户)遇到了同步问题,因为他们无法关联账户,尤其是在邮箱不匹配的情况下。不知何故,启用 2FA 后,“关联账户”部分会消失。
  • 邮箱不匹配且启用了 2FA 的老用户永远无法完成 Patreon 同步。论坛邮箱与 Patreon 邮箱不一致的情况很常见(尤其是使用 +别名或邮件转发时)。
1 个赞

我理解这一点,并希望这种情况不会再次发生。同时,我会查看关于双因素认证(2FA)的可行解决方案。

2 个赞

嗯,还是不行:

仍然没有返回 200 状态码~ 除非新的 hooks 改变了其显示方式,与已弃用的 hooks 不同?感觉仍然像是返回码的问题。

3 个赞

感谢测试。我又修复了一些问题,现在运行正常。

2 个赞