【问题标题】:How to get "bigger-size" user image with Twitter API 1.1?如何使用 Twitter API 1.1 获得“更大”的用户图像?
【发布时间】:2014-02-24 10:49:13
【问题描述】:

我正在尝试获取某人的最后 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。

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

【问题讨论】:

    标签: twitter tweets


    【解决方案1】:

    我发现使用较大的图片仍然会以相对较小的格式返回。使用此答案,您可以调整图像大小,从而获得不失真的大图像。

    如果您想获得完整尺寸的图像,只需完全摆脱“_normal”

    http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o_normal.jpeg
    

    前往

    http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o.jpeg
    

    注意:此答案中的网址已修改,以不反映我的推特详细信息,因此为什么输入它们会给您一个“不存在页面”

    【讨论】:

    【解决方案2】:

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

    User Profile Images and Banners

    【讨论】:

      【解决方案3】:

      2020 年 12 月 22 日更新

      情况仍然如此 - 有效。

      2017 年 5 月 6 日更新

      当您通过 profile_image_urlprofile_image_url_https(参见 User Profile Images and Banners)获取用户的个人资料图片时,请尝试将“_normal”替换为文件名以“_400x400”结尾。

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

      【讨论】:

      • 欢迎来到 SO。请阅读此how-to-answer 以提供高质量的答案。
      • 编辑了我的答案。
      • 你在哪里找到这个维度_400x400?您的链接中没有关于400x400 的任何信息
      • @Green 他们没有记录它。我链接到文档以显示他们的图像网址的结构。我只是自己想出来的:只需转到您的 Twitter 个人资料,单击您的个人资料图片并复制图片地址 - 在那里您可以看到它。
      【解决方案4】:

      如果您仍然需要回答这些问题(因为之前的问题都没有被标记为已接受的答案),这就是我设法处理 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 就足够了。 如果您想要完整的分辨率,您需要从任一 URL 中删除“_normal”标签,如上述angryTurtle。这将为您提供全尺寸图像的 URL。这是完成此操作的快速示例工作:

      /// remove '_normal' from picture url to get full size
              NSString *TWTRPicStringF = [twitterProfilePictureURLStringN stringByReplacingOccurrencesOfString:@"_normal" withString:@""];
      

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

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

      【讨论】:

        猜你喜欢
        • 2013-01-28
        • 2013-06-09
        • 1970-01-01
        • 2021-04-01
        • 2017-06-12
        • 1970-01-01
        • 2013-08-02
        • 2013-06-19
        • 1970-01-01
        相关资源
        最近更新 更多