Как получить изображение пользователя "большего размера" с помощью API Twitter 1.1?
Я пытаюсь получить последние 5 твитов от человека. Я сделал это, но изображение профиля не выглядит нормальным, разрешение повреждено. как это.! http://i.hizliresim.com/wLQEJZ.jpg
var $twitter = $('#twitter');
$.getJSON('http://www.demo.net/twitter.php?username=yeniceriozcan&count=5', function(data){
var total = data.length,
i = 0;
$twitter.html(''); // önce içindekini temizle sonra tweetleri yazdır.
for ( i; i < total; i++ ){
var tweet = data[i].text; // tweet
var date = parseTwitterDate(data[i].created_at); // tarih
var image = data[i].user.profile_image_url; // profil resmi
var url = 'https://twitter.com/' + data[i].user.screen_name +'/status/' + data[i].id_str;
$twitter.append('<div class="tweet"><a target="_blank" href="' + url + '"><img src="' + image + '" alt="" class="profile-image" />' + tweet + '</a> <span class="tweet-date">(' + date + ')</span></div>');
}
});
Это мой код. Я попытался это сделать, чтобы получить изображение профиля,
var image = data[i].user.profile_image_url;
А также в другом файле твитов,
$tweets = $twitter->get('https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name='.$username.'&count='.$count);
print json_encode($tweets);
Я использовал этот api.
но я не могу просматривать изображения в обычных разрешениях. Как я могу это исправить?
Спасибо.
Ответы
Ответ 1
Я обнаружил, что использование большего размера еще вернуло изображение в относительно небольшом формате. Используя этот ответ, вы можете изменять размер изображения, позволяя вам иметь большое изображение без искажений.
Если вы хотите получить полный размер изображения, просто избавитесь от "_normal" полностью
http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o_normal.jpeg
Переход на
http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o.jpeg
Примечание: URL-адреса в этом ответе изменяются так, чтобы не отражать мои подробности Twitter, поэтому вхождение в них даст вам "никакой страницы существует"
Ответ 2
Когда вы читаете URL из data [i].user.profile_image_url, замените "_normal" на "_bigger". Вот объяснение из документации Twitterа:
Изображения и баннеры в профиле пользователя
Ответ 3
Если вам все еще нужны ответы на эти вопросы (поскольку ни один из предыдущих не отмечен как принятый ответ), мне удалось справиться с размером URL-адреса Twitter API
:
Схват URL
из API вернет URL "http" и "https" в следующих форматах:
Http:
http://pbs.twimg.com/profile_images/378812345851234567/Ay2SHEYz_normal.png
https:
https://pbs.twimg.com/profile_images/378812345851234567/Ay2SHEYz_normal.png
По какой-то причине Twitter решил, что 48x48 png достаточно хорош.
Если вам требуется полное разрешение, вам нужно удалить тег "_normal" из любого URL-адреса, как angryTurtle, указанный выше. Это даст вам URL-адрес полноразмерного изображения. Ниже приведен пример быстрого выполнения этой задачи:
/// remove '_normal' from picture url to get full size
NSString *TWTRPicStringF = [twitterProfilePictureURLStringN stringByReplacingOccurrencesOfString:@"_normal" withString:@""];
Надеюсь, это поможет вам, и вы можете отметить один из них как принятый ответ, чтобы закрыть вопрос!
FYI. Я также изменил содержимое URL-адресов, чтобы защитить свою собственную информацию Twitter, объясняя, что "нет страницы существует" при использовании одного из приведенных выше URL-адресов.
Ответ 4
Обновление от 6 мая 2017 года
Когда вы получаете изображение профиля пользователя через profile_image_url или profile_image_url_https (см. Изображения и баннеры профиля пользователя), попробуйте заменить "_normal" в конце имени файла на "_400x400".
Кажется, что теперь они уменьшают изображения до 400x400, а затем удаляют исходный файл.