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

时间:2014-01-31 16:35:06

标签: 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>');
        }
    });

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

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。

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

4 个答案:

答案 0 :(得分:38)

我发现使用更大的图片仍会以相对较小的格式恢复图片。使用此答案可以调整图像大小,使您可以拍摄大图像而不会失真。

如果你想让图像全尺寸,只需摆脱&#34; _normal&#34;完全

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

转到

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

注意:此答案中的网址已修改,以便不反映我的推文详细信息,因此为什么输入这些网址会给您一个&#34;没有页面存在&#34;

答案 1 :(得分:22)

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

User Profile Images and Banners

答案 2 :(得分:10)

如果你仍然需要回答这个问题(因为以前没有一个被标记为已接受的答案),这就是我设法处理module MyModule { export module Services { export class MyService { constructor() { console.log(this); // this refers to service instance, as expected } } } } module MyModule { export module Configurations { export class MyConfiguration { constructor() { console.log(this); // this refers to Window!? } } } } 图片网址尺寸的方法:

从API中抓取var app = angular.module('MyApp', ...); app.config(MyModule.Configurations.MyConfiguration); app.service('MyService', MyModule.Services.UserService); 将返回&#34; http&#34;和&#34; https&#34;网址采用以下格式:

<强> HTTP:

Twitter API

<强> HTTPS:

URL

无论出于什么原因,Twitter认为 48x48 png 足够好了。 如果你想要全分辨率,你需要删除&#34; _normal&#34;来自任一网址的代码,如上所述angryTurtle。这将为您提供完整大小图像的URL。以下是完成此任务的快速示例:

http://pbs.twimg.com/profile_images/378812345851234567/Ay2SHEYz_normal.png

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

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

答案 3 :(得分:7)

2017年5月6日更新

当您通过 profile_image_url profile_image_url_https (请参阅User Profile Images and Banners)获取用户个人资料图片时,请尝试替换“ _normal ”在文件名末尾带有“ _400x400 ”。

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