Получить URL-адрес изображения из твиттера api-параметра php - PullRequest
6 голосов
/ 28 февраля 2012

Я пытаюсь получить и отобразить изображения, опубликованные в твите с php, через параметр entity.У меня есть include_entities в моем URL и я могу видеть сущности в возвращенном json.

В моем цикле foreach я делаю следующее:

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;
...
}

Однако это ничего не возвращает.

Для моего вывода у меня есть ...

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

} else {
    //format table for regular tweets 
} 

И это 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)
        }
...
}

Есть идеи, почему это не работает?Любая помощь приветствуется!

Ответы [ 3 ]

11 голосов
/ 28 февраля 2012

$result->entities->media-> это массив в структуре ... попробуйте использовать

$media_url = $result->entities->media[0]->media_url;
0 голосов
/ 15 ноября 2012
$results = json_decode($results);

Я думаю, что гораздо проще увидеть, как выбирать элементы при декодировании объектов json:)

Попробуйте в следующий раз:)

0 голосов
/ 28 февраля 2012

Я вполне могу ошибаться, но я считаю, что вам нужно [] до и после чисел в операторах if.

...