Потяните твиттер изображение профиля - PullRequest
20 голосов
/ 22 января 2010

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

Ответы [ 8 ]

46 голосов
/ 04 июня 2010

Twitter имеет , имеет хороший простой URL.

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

Имеются параметры размера, такие как? Размер = 1010 *

Подробнее об этом можно прочитать на Малоизвестные советы и хитрости Twitter и TwitterAPI .

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

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

12 голосов
/ 22 января 2010
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

5 голосов
/ 08 мая 2011

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

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

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

5 голосов
/ 11 декабря 2010

Предыдущие авторы предоставили правильный ответ, который я хотел добавить к исходной странице Twitter Api Doc, чтобы вы знали, что это действительно официальный способ работы:

Вам необходимо указать ?size=

  • больше - 73px на 73px
  • нормальный - 48 на 48 пикселей
  • мини - 24px на 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

2 голосов
/ 29 декабря 2010

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

Например, этот запрос: 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

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

1 голос
/ 28 января 2014

Когда вы получаете ссылку на оригинальное изображение, вы можете изменить ее, чтобы увеличить. http://pbs.twimg.com/profile_images/34543543/image_name_normal.jpg

становится

http://pbs.twimg.com/profile_images/34543543/image_name.jpg или image_name_bigger, ...

Источник: https://dev.twitter.com/docs/user-profile-images-and-banners

0 голосов
/ 15 апреля 2013
0 голосов
/ 22 января 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...