Нулевые значения в json Twitter Search API Php - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь разобрать результаты поиска в Twitter API. ID, никнейм, статусное сообщение и т. Д. - с этим все в порядке. Но когда я пытаюсь использовать эхо-хэстэги или медиа-URL, я улавливаю нулевое значение, но в JSON у меня есть данные. Мой рабочий код: $ twitter = new TwitterAPIExchange ($ settings);

$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(),true);

foreach($string['statuses'] as $tweets) {
 $time = $tweets['created_at'];
 $id = $tweets['id'];
 $source = $tweets['source'];
 $tweet = $tweets['full_text'];
 $name = $tweets['user']['name'];
 $user = $tweets['user']['screen_name'];
 $profile_image = $tweets['user']['profile_image_url'];
 $followers = $tweets['user']['followers_count'];
 $friends = $tweets['user']['friends_count'];
 $listed = $tweets['user']['listed_count'];
$hashtag = $tweets['media']['media_url'];
echo "Time and Date of Tweet: " . $time ."<br />";
 echo "ID of Tweet: " . $id . "<br />";
  echo "Source of Tweet: " . $source . "<br />";
        echo "Tweet: ". $tweet ."<br />";
        echo "Tweeted by: ". $name ."<br />";
        echo "Screen name: ". $user ."<br />";
  echo "<a href=\"http://twitter.com/$user\">@$user</a><br />";
  echo "<img src=\"".$profile_image."\" width=\"100px\" height=\"100px\" /><br />";
        echo "Followers: ". $followers ."<br />";
        echo "Friends: ". $friends ."<br />";
        echo "Listed: ". $listed ."<br /><hr />";

здесь часть вывода json (var_dump $ string)

 string(46) "http://pbs.twimg.com/media/DrvSmRIWkAEDLMv.jpg"
            ["media_url_https"]=>
            string(47) "https://pbs.twimg.com/media/DrvSmRIWkAEDLMv.jpg"
            ["url"]=>
            string(23) "https://"
            ["display_url"]=>
            string(26) "pic.twitter.com/r7nAHcjEpA"
            ["expanded_url"]=>
            string(65) "https://twitter.com/KolaSokol1/status/1061673709738565634/photo/1"
            ["type"]=>
            string(5) "photo"
            ["sizes"]=>

Как я вижу, у меня есть данные в media_url, но когда я пытаюсь

$hashtag = $tweets['media']['media_url'];
        echo "hashtags: ". $hashtags ."<br /><hr />";

Я ничего не получаю.

Также, когда я пытаюсь сделать

<code>echo "<pre>";
echo var_dump($tweets['media']['media_url']);
echo "
";

Я получаю NULL . Я действительно плохо в php, пожалуйста, дайте мне совет, что я пропускаю? Спасибо за совет.

1 Ответ

0 голосов
/ 13 ноября 2018

Это работает, если разбирать вот так

 foreach ($string['statuses'] as $tweets) {
        echo $tweets['entities']['hashtags']['0']['text']."<hr />";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...