Подтвердить что ты не робот

Потяните изображение профиля щебета

Есть ли быстрый способ получить изображение профиля Twitter в PHP или Javascript? Мне нужно получить URL-адрес FULL-изображения (не размер аватара). Благодарю. Любой образец кода хорош.

4b9b3361

Ответ 1

Twitter имеет хороший URL-адрес.

https://api.twitter.com/1/users/profile_image/abraham

У него есть такие параметры размера, как "? size = больше"

Подробнее об этом можно узнать на Немного известных советов и трюков Twitter и TwitterAPI.

Twitter теперь имеет документацию в виде GET users/profile_image/: screen_name.

Обновление. Поддержка этого метода была удалена из v1.1 API. Рекомендуемая практика в будущем GET/users/show и кеш profile_image_url локально в вашем сервисе/приложении.

Ответ 2

function get_big_profile_image($username, $size = '') {
  $api_call = 'http://twitter.com/users/show/'.$username.'.json';
  $results = json_decode(file_get_contents($api_call));
  return str_replace('_normal', $size, $results->profile_image_url);
}

get_big_profile_image ('bobsaget', '_bigger') должен вернуть большой аватар: http://a1.twimg.com/profile_images/330305510/n229938150541_9850_bigger.jpg

get_big_profile_image ('bobsaget') должен вернуть изображение еще больше: http://a1.twimg.com/profile_images/330305510/n229938150541_9850.jpg

Ответ 3

Предыдущие ответчики предоставили правильный ответ, который я хотел бы связать с оригинальной страницей api doc twitter, чтобы вы знали, что это на самом деле официальный способ делать вещи:

Вам нужно указать ?size=

  • больше - 73px на 73px
  • нормальный - 48px на 48px
  • mini - 24px by 24px
http://api.twitter.com/1/users/profile_image/twitter.json?size=bigger
http://api.twitter.com/1/users/profile_image/twitter.json?size=normal

http://dev.twitter.com/doc/get/users/profile_image/:screen_name

Ответ 4

Извините, если это то, что теперь известно, но я не видел, чтобы он документировал где-либо во время моих поисков, включая официальные документы в формате Twitter.

Вы можете добавить параметр size = original в качестве параметра, который вернет исходное загруженное изображение для пользователя.

Итак: http://api.twitter.com/1/users/profile_image/twitter.json?size=original

Ответ 5

Итак, это не в документах (http://dev.twitter.com/doc/get/users/profile_image/:screen_name), но похоже, что после извлечения изображения, указав любой из трех размеров (больше, normal, mini), вы можете просто удалить суффикс перед расширением файла, чтобы получить исходное изображение. Хм... это безопасно использовать?

Например, этот запрос: api.twitter.com/1/users/profile_image/rrbrambley

Результаты: a2.twimg.com/profile_images/931772958/deformed_cropped_headonly_normal.jpg

Если я изменю этот url, удалив "_normal", я получаю исходное изображение: a2.twimg.com/profile_images/931772958/deformed_cropped_headonly.jpg

Я знаю, что есть приложения, которые используют исходное изображение. Это должно быть так?

Ответ 7

Я знаю, что это не полный образец кода в соответствии с запросом (потому что есть несколько способов сделать это), но у вас уже есть URL-адрес для аватара? Я заметил, что превращение ".../eric.png" в ".../eric_bigger.png" привело к большему изображению. Когда "_bigger" уже существует, удаление его дало мне URL-адрес оригинальному изображению.

Я проверил это с изображениями нескольких последователей и, когда изображение профиля было размером 150 пикселей, работало.