【发布时间】:2016-07-19 13:03:03
【问题描述】:
您好,我正在使用 Twitter TwitterAPIExchange(http://github.com/j7mbo/twitter-api-php) laravel 5.2。 我想做的是通过它的 url 获得 twitter 的喜欢、收藏和转发。这里是 url http://imgurl.co/760598324/1835795511
这是我尝试过的
$settings = array(
'oauth_access_token' => access_token,
'oauth_access_token_secret' => access_token_secret,
'consumer_key' => CONSUMER_KEY,
'consumer_secret' => CONSUMER_SECRET
);
$encde = urlencode('http://imgurl.co/760598324/1835795511');
$url = "https://api.twitter.com/1.1/search/tweets.json?url=".$encde;
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$data = $twitter->buildOauth($url, $requestMethod)
->performRequest();
echo "<pre>";
print_r($data);
它给了我这个错误
{"errors":[{"code":32,"message":"Could not authenticate you."}]}
如果我直接传递url而不编码,那么它会显示整个页面数据,就像我们在浏览器中打开url时一样。
但使用 facebook graph api 我只需将 url 粘贴到其 facebook graph api explorer 中即可从 url 获取数据
我还在 TwitterAPIExchange 中设置了CURLOPT_SSL_VERIFYPEER => falseperformRequest function
我也试过这个解决方案 Twitter API to get tweet and re-tweets count in php 但它说
file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known.
这是解决上述错误后的响应
{
"statuses": [
],
"search_metadata": {
"completed_in": 0.006,
"max_id": 715462198051602432,
"max_id_str": "715462198051602432",
"query": "http%3A%2F%2Fimgurl.co%2F760598324%2F1835795511",
"refresh_url": "?since_id=715462198051602432&q=http%3A%2F%2Fimgurl.co%2F760598324%2F1835795511&include_entities=1",
"count": 15,
"since_id": 0,
"since_id_str": "0"
}
}
它没有给我任何推特喜欢、收藏和转发的数据
【问题讨论】:
标签: php laravel curl twitter twitter-oauth