问题描述
我正在使用Twitter帐户活动api发送/接收消息。在它中,我在生成Webhook时面临问题。第一次成功创建。在webhook文件中,每次发送或接收消息时,我都将消息保存在数据库中。但是,当我发送消息时,数据库中什么也没有。这是 webhook 文件:
$url = "https://example.com/twitter/webhook.PHP";
$result = $connection->post("account_activity/all/env_name/webhooks",["url" => $url]);
我认为可能是webhook问题,所以我删除了现有应用程序并创建了一个新应用程序,并使用新名称为其设置了开发环境标签。但是为此,当我尝试创建webhook时,它给了我错误:
[代码] => 214 [消息] => Webhook URL不符合要求。 无效的CRC令牌或json响应格式。
我不知道现在发生了什么。我正在使用此api创建webhook网址
document.querySelectorAll(".class-name").forEach(el => el.remove())
谁能帮我这个忙。任何帮助将不胜感激。
谢谢!
解决方法
我遇到了相同的错误消息。
问题似乎在于
我f(isset($_REQUEST['crc_token']))
不再工作了。虽然令牌已设置。我不知道是什么引起了问题,但是当我让代码仅获取$ _REQUEST ['crc_token']并创建并打印哈希值时便会起作用。
但是我看到您的代码没有调用get_challenge_response($ token)函数。 我认为
print get_challenge_response($token)
可以帮助吗?如果Webhook被twitter禁用,则必须启动另一个CRC检查: https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/subscribe-account-activity/guides/securing-webhooks
您的应用还可以在需要时通过使用Webhook ID发出PUT请求来触发CRC。在部署新代码并重新启动服务之后,开发Webhook应用程序时触发CRC很有用。