Как получить 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.
}
}