Как получить URL-адрес изображения из твитов с помощью API Twitter

Я использую этот код:

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;

Получить твиты с хэштегом #Misiones (название места, где я живу). Работает нормально, но я пытаюсь получить URL-адрес изображения (если у твита есть некоторые).
Я пробовал с $result- > media и $result- > media- > media_url и другими конфлиментами без succcess.

Ответы

Ответ 1

Tweet Объекты - это то, что вы ищете для доступа к изображениям. Объекты предоставляют структурированные данные из твитов, включая расширенные URL-адреса и медиа-URL. Они расположены под атрибутом entities во всех объектах Tweet, как из REST, так и с помощью Streaming API.

В результате, чтобы ответить на ваш вопрос, если твит содержит одно изображение, его URL-адрес будет расположен здесь:

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

Ниже приведен фрагмент PHP, который вы можете добавить в существующий цикл foreach, более сложный, чтобы обрабатывать, содержит ли твиты медиа-адреса URL:

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