2016-03-31 3 views
0

Привет я использую Twitter TwitterAPIExchange (http://github.com/j7mbo/twitter-api-php) laravel 5.2. Что я хочу сделать, это получить щебет любит, избранное и ретвитов его url.here является гиперссылка http://imgurl.co/760598324/1835795511получить щебетать щебет любит, избранное и ретвиты по его url twiiter api php laravel

вот что я попробовал

$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 графа апи я только вставить URL в facebook графа API проводника, чтобы получить данные из URL

я также установили CURLOPT_SSL_VERIFYPEER => false в TwitterAPIExchange performRequest 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" 
    } 
} 

это не дает мне никаких данных твит любит, избранное и ретвитов

ответ

1

error code 32 в данном случае означает, что ваш запрос является недействительным (неверный формат).

Проблема с вашим запросом заключается в том, что он передает неправильные данные. Конечная точка API search/tweets не имеет параметра url. Кроме того, требуется параметр q. Так как вы не проходите мимо параметра q, ваш запрос недействителен.

Поэтому вы должны передать свои данные как q параметр.

Кстати, вам не нужно вручную кодировать данные и добавлять URL-адрес. TwitterAPIExchange имеет соответствующий метод setGetfield для установки параметров GET.

Так что ваш код должен выглядеть следующим образом:

$url = "https://api.twitter.com/1.1/search/tweets.json"; 
$data = 'q=http://imgurl.co/760598324/1835795511'; 
$twitter = new TwitterAPIExchange($settings); 
$data = $twitter->setGetfield($data)->buildOauth($url, 'GET') 
->performRequest(); 
+0

Спасибо я попробовал свое решение он не дает мне ошибку прямо сейчас. , но он дает мне пустые данные в массиве состояний. Я отредактировал свой вопрос и собираюсь поместить ответ mu в вопрос. Пожалуйста, любезно помогите мне в этом ... – user5184398

+0

Боюсь, что вы ** не можете ** искать определенный URL-адрес для присутствия в твитах. Все параметры/настройки, которые вы можете применить к поиску, перечислены здесь: [1] (https://dev.twitter.com/rest/public/search) и [2] (https://dev.twitter.com/rest/ссылки/получить/поиск/твитов). И кажется, что twitter API не позволяет, что вы хотите. – hindmost