Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在twitter应用程序上注册webhook url时出现问题_Php_Webhooks_Twitter Oauth - Fatal编程技术网

Php 在twitter应用程序上注册webhook url时出现问题

Php 在twitter应用程序上注册webhook url时出现问题,php,webhooks,twitter-oauth,Php,Webhooks,Twitter Oauth,我正在尝试在twitter应用程序上注册一个webhook url,我正在使用这个软件包 这是我的代码 $cbUrl = 'https://123456.ngrok.io'; $envName = 'myDevEnvironment'; $connection = new TwitterOAuth(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET); $data = $connection->

我正在尝试在twitter应用程序上注册一个webhook url,我正在使用这个软件包

这是我的代码

$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)]);
我正在使用获取本地主机webhook url的https。但仍然在响应中获取错误代码214,并且在错误消息下方

{"errors":[{"code":214,"message":"Webhook URL does not meet the requirements. Please use HTTPS."}]}
任何帮助都将不胜感激

谢谢。

请使用HTTPS

该错误是自我解释性的,您的请求被拒绝,因为您不在安全连接上。在服务器上安装SSL证书

以下是关于传输层安全的ngrok文档

他们对提供的URL是否以https://开头的检查可能会失败,因为您对该值进行了URL编码。您的包可能负责对API调用本身中的任何参数值进行编码,因此在本例中,您现在应该对其进行两次编码


如果他们在https%3A%2F%2F123456.ngrok.io的开头查找https://将失败。

否,在这种情况下,这不是不言自明的。ngrok提供了一个SSL隧道,这就是他们所做的。他们试图在这里指定的ngrok URL确实使用HTTPS。这就是我们所需要的一切。ngrok正在通过隧道连接到的服务器不需要支持HTTPS,因为它对外部是不可见的。我猜,他们对提供的URL是否以HTTPS://开头的检查可能会失败,因为您对该值进行了URL编码。您的包可能负责对API调用本身中的任何参数值进行编码,因此在本例中,您现在应该对其进行两次编码。不管有人盯着https%3A%2F%2F123456.ngrok.io看多久,这都不是以https://You 是的,url会被编码两次,这就是为什么它不能确定它是否是安全的。感谢@CBroe的快速帮助。
['url' => urlencode($cbUrl)]