2014-04-05 21 views
16

Używam tego kodu:Jak zdobyć URL obrazu z tweets wykorzystujących API Twittera

require_once ("twitteroauth.php"); 

define('CONSUMER_KEY', 'XXX'); 
define('CONSUMER_SECRET', 'XXX'); 
define('ACCESS_TOKEN', 'XXX'); 
define('ACCESS_TOKEN_SECRET', 'XXX'); 

$toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); 

$query = array(
    "q" => "#Misiones", 
    "result_type" => "recent", 
    "include_entities" => "true" 
); 

results = $toa->get('search/tweets', $query); 

foreach ($results->statuses as $result) { 

    $user = $result->user->screen_name; 
    $text = $result->text; 

dostać tweets odrobina #Misiones hashtag (nazwa miejsca, w którym jestem live). Działa dobrze, ale próbuję uzyskać adres URL obrazu (jeśli tweet ma jakieś).
Próbowałem z $ result-> media i $ result-> media-> media_url i innymi convination bez powodzenia.

Odpowiedz

29

Tweet Entities są to, czego szukasz, aby uzyskać dostęp do zdjęć. Podmioty udostępniają uporządkowane dane z tweetów, w tym rozszerzone adresy URL i adresy URL mediów. Znajdują się one pod atrybutem entities we wszystkich obiektach Tweet z obu interfejsów API REST i Streaming API.

W rezultacie, aby odpowiedzieć na pytanie, czy Tweet zawiera jeden obraz, jego adres URL będzie znaleźć tutaj:

$media_url = $result->entities->media[0]->media_url; 

Poniżej PHP snippet można dodać do istniejącego foreach pętli, to jest nieco bardziej skomplikowane w obsłudze, czy Tweet zawiera adresy URL mediów:

if (isset($result->entities->media)) { 
    foreach ($result->entities->media as $media) { 
     $media_url = $media->media_url; // Or $media->media_url_https for the SSL version. 
    } 
} 
+0

Dzięki! Działa idealnie !! –

+0

link do tweetów podmiotów jest martwy od 20171128 – ofloveandhate