2014-04-05 10 views
16

Tôi đang sử dụng mã này:Làm thế nào để có được url hình ảnh từ tweet bằng cách sử dụng Twitter API

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; 

Để có được tweets whit #Misiones hashtag (tên của nơi tôi sống). Hoạt động tốt nhưng tôi đang cố gắng để có được url hình ảnh (nếu tweet có một số).
Tôi đã thử với $ result-> media và $ result-> media-> media_url và các kết hợp khác mà không bị mất cắp.

Trả lời

29

Tweet Entities là những gì bạn đang tìm kiếm để truy cập vào hình ảnh. Các thực thể cung cấp dữ liệu có cấu trúc từ Tweets bao gồm URL mở rộng và URL phương tiện. Chúng nằm trong thuộc tính entities trong tất cả các đối tượng Tweet từ cả API REST và Twitter của Twitter.

Do vậy, để trả lời câu hỏi của bạn, nếu một Tweet chứa một hình ảnh, URL của nó sẽ được đặt ở đây:

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

Dưới đây là một PHP đoạn mã bạn có thể thêm vào foreach vòng lặp hiện tại của bạn, nó là một chút phức tạp hơn để xử lý xem Tweet có chứa URL phương tiện hay không:

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

Cảm ơn !! Hoạt động hoàn hảo !! –

+0

liên kết đến các thực thể tweet đã chết kể từ năm 20171128 – ofloveandhate

Các vấn đề liên quan