2012-02-28 36 views
6

Tôi đang cố gắng hiển thị và hiển thị hình ảnh được đăng trong một tweet với php thông qua tham số thực thể. Tôi có include_entities trong url của mình và có thể thấy các thực thể trong json được trả về.Nhận url hình ảnh từ tham số thực thể api twitter php

Trong vòng lặp foreach của tôi, tôi đang làm như sau:

foreach($results as $result){ 
    $media_url = $result->entities->media->media_url; 
    $media_size_h = $result->entities->media->sizes->small->h; 
    $media_size_w = $result->entities->media->sizes->small->w; 
... 
} 

Tuy nhiên, đây không phải trở về bất cứ điều gì.

Đối với đầu ra của tôi, tôi có ...

if(strlen($media_url) > 0) 
{ 
    //format table for tweets with images 

} else { 
    //format table for regular tweets 
} 

Và đây là json ...

array(20) { 
[0]=> 
object(stdClass)#5 (21) { 
... 
["entities"]=> 
object(stdClass)#7 (4) { 
    ["media"]=> 
    array(1) { 
    [0]=> 
    object(stdClass)#8 (10) { 
     ["type"]=> 
     string(5) "photo" 
     ["media_url"]=> 
     string(38) "http://photourl.jpg" 
... 
["sizes"]=> 
     object(stdClass)#9 (4) { 
     ["thumb"]=> 
     object(stdClass)#10 (3) { 
      ["resize"]=> 
      string(4) "crop" 
      ["h"]=> 
      int(150) 
      ["w"]=> 
      int(150) 
     } 
... 
} 

Bất cứ ý tưởng tại sao điều này không hoạt động? Bất kì sự trợ giúp nào đều được đánh giá cao!

Trả lời

11

$result->entities->media-> này là một mảng như đã thấy trong cấu trúc ... hãy thử sử dụng

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

Có! Bạn là nhất! cảm ơn! – Michael

+0

Xin chào, tôi không nhận được giá trị trường media_url như tôi đã viết ở đây - http://stackoverflow.com/questions/24471417/getting-user-tweets-by-twitter-api-call-not-returning-media-url –

+0

API đã được thay đổi cách đây không lâu. Bây giờ ngày, nếu bạn muốn url truyền thông, bạn sẽ cần phải làm: '$ result-> media [0] -> media_url;' – olegario

-1

Tôi rất có thể sai nhưng tôi tin rằng bạn cần [] trước và sau các số trong câu lệnh if.

0
$results = json_decode($results); 

Tôi nghĩ rằng đó là dễ dàng hơn để xem làm thế nào để chọn các mục khi bạn giải mã đối tượng json :)

Hãy thử lần sau :)

+0

lần sau, hãy thử định dạng chính tả và mã của bạn :-) – kleopatra

+0

Lol, nub. Tất cả mọi thứ là chính xác .. Tâm trí của bạn đọc thời gian tiếp theo. –

+0

nó chính xác ngay bây giờ, _after_ chỉnh sửa của tôi .. kiểm tra sự khác biệt, bạn đời – kleopatra

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