php - 在 Twitter 应用上注册 webhook url 的问题
问题描述
我正在尝试在 twitter 应用程序上注册一个 webhook url,并且我正在使用这个包twitteroauth。
这是我的代码。
$cbUrl = 'https://123456.ngrok.io';
$envName = 'myDevEnvironment';
$connection = new TwitterOAuth(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET);
$data = $connection->post('account_activity/all/' . $envName . '/webhooks', ['url' => urlencode($cbUrl)]);
我正在使用ngrok获取我的 localhost webhook url 的 https。但仍然收到错误代码 214 作为响应并在错误消息下方。
{"errors":[{"code":214,"message":"Webhook URL does not meet the requirements. Please use HTTPS."}]}
任何帮助,将不胜感激。
谢谢你。
解决方案
['url' => urlencode($cbUrl)]
他们检查提供的 URL 是否以开头https://
可能会失败,因为您对值进行了 URL 编码。您的包可能会负责对 API 调用本身中的任何参数值进行编码,因此在这种情况下,您现在需要对其进行两次编码。
https://
如果他们在开头寻找https%3A%2F%2F123456.ngrok.io
,那将失败。
推荐阅读
- javascript - 重新加载页面时如何修复请求失败,状态码为 500
- python - wxpython框架在空闲一段时间后关闭
- python - 在 PyTorch 模型中手动设置参数数据
- mysql - Mysql8按月分区,分区修剪不起作用
- php - 解析错误:语法错误,意外标记“if”
- python - Django,与抽象实体的多对一关系
- optimization - 这个面试问题的最佳解决方案
- nginx - 为什么 resty.redis 不能与 ngx.timer 一起使用?
- java - Java - 如何检查 PC 睡眠模式(Quartz Scheduler + Selenium)
- reactjs - useState 未按预期运行