如何使用Twitter API 1.1获得"更大尺寸"的用户形象?

use*_*354 18 twitter tweets

我正试图从一个人那里得到最后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>');
        }
    });
Run Code Online (Sandbox Code Playgroud)

这是我的代码.我试图获取个人资料图片,

var image = data[i].user.profile_image_url;
Run Code Online (Sandbox Code Playgroud)

而且在其他推文文件中,

$tweets = $twitter->get('https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name='.$username.'&count='.$count);

print json_encode($tweets);
Run Code Online (Sandbox Code Playgroud)

我用过这个api.

但我无法以正常分辨率查看图片.我该如何解决?谢谢.

sim*_*ley 38

我发现使用更大的图片仍然会以相对较小的格式恢复图片.使用此答案可以调整图像大小,使您可以拥有一个没有失真的大图像.

如果你想获得完整尺寸的图像,只需完全摆脱"_normal"

http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o_normal.jpeg
Run Code Online (Sandbox Code Playgroud)

去吧

http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o.jpeg
Run Code Online (Sandbox Code Playgroud)

注意:此答案中的网址已被修改,以便不反映我的推文详细信息,因此为什么输入这些网址会给您"无页面存在"


Joe*_*ayo 23

当您从data [i] .user.profile_image_url中读取url时,将"_normal"替换为"_bigger".以下是Twitter文档的解释:

用户个人头像和横幅


Wil*_*ich 11

如果你仍然需要回答这个问题(因为以前没有一个被标记为已接受的答案),这就是我设法处理Twitter API图像URL大小的方法:

抓住了URL从API将返回"http"和"https"开头的URL的格式如下(S):

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足够好了.如果您需要完整的分辨率,则需要从任一URL中删除 "_normal"标记,如上面所述的angryTurtle所述.这将为您提供完整大小图像的URL.以下是完成此操作的快速示例:

/// remove '_normal' from picture url to get full size
        NSString *TWTRPicStringF = [twitterProfilePictureURLStringN stringByReplacingOccurrencesOfString:@"_normal" withString:@""];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助您,您可以将其中一个标记为已接受的答案来结束问题!

仅供参考:我修改了URL内容以保护我自己的Twitter信息,在使用上面提供的URL之一时解释"没有页面存在".


pz9*_*z90 8

2017年5月6日更新

当您通过profile_image_urlprofile_image_url_https(请参阅用户配置文件图像和横幅)获取用户个人资料图像时,请尝试将文件名末尾的" _normal " 替换为" _400x400 ".

似乎他们现在将图像缩小到400x400,然后删除原始文件.