如何在Twitter上获得用户的高分辨率个人资料图片?

时间:2016-01-13 08:24:17

标签: twitter

我正在https://dev.twitter.com/overview/general/user-profile-images-and-banners阅读Twitter文档,并明确指出:

  

用户个人资料图片的替代图片尺寸您可以获得   用户最近的个人资料图片以及其他组件   在GET用户/节目中包含他们在Twitter上的身份。内   用户对象,你会找到profile_image_url和   profile_image_url_https字段。这些字段将包含调整大小   用户上传图像的“正常”变体。这种“正常”变种   通常是48px乘48px。

     

通过修改URL,您可以检索其他变体大小写,例如   “更大”,“迷你”和“原创”。有关更多信息,请参阅下表   示例:

     

Variant Dimensions示例URL正常48px by   48px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png   https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png   更大的73px   73px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png   https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png   迷你24px   24px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_mini.png   https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_mini.png   原始原件http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3.png   https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3.png   省略下划线和变体以检索原始图像。该   图像可能非常大。

Twitter API对我自己的帐户的回复是这样的:

{
  ....
  "profile_image_url_https" = "https://pbs.twimg.com/profile_images/559415382457348097/qSYxxIAo_normal.png";
  ...
}

该图片网址有效,但实在太小了。我需要最高分辨率。我完全按照Twitter说的做,并省略_normal后缀,并尝试以下网址:

https://pbs.twimg.com/profile_images/559415382457348097/qSYxxIAo.png

但是找不到它。 Twitter文档过时了还是我错过了一点?

更新:我尝试了一些朋友的个人资料,其中大部分似乎都有效,删除任何后缀并添加_400x400.[jpg|png]似乎也有效,但它没有记录,不可靠,所以我真的怀疑我应该在生产中使用这个未记录的API。

更新2:我已经刷新了我的用户对象,因为Twitter也会在过时的图片中说明,但没有任何变化。

2 个答案:

答案 0 :(得分:8)

对我来说,“解决方法”解决方案是从字符串

的末尾删除“_normal”

请在下方查看:

答案 1 :(得分:1)

使用此URL:“ https://twitter.com/(userName)/profile_image?size=original

如果使用的是TWitter SDK,则登录时可以使用a = [1,5,7,3,2,5,4,45,1,5,10,12] split=[0]+[i for i in range(1,len(a)) if a[i-1]>a[i]]+[len(a)] #[0, 3, 4, 6, 8, 12] chunks=[list(reversed(a[i:j])) for i,j in zip(split[:-1],split[1:])] #[[7, 5, 1], [3], [5, 2], [45, 4], [12, 10, 5, 1]] print(sum(chunks,[])) #[7, 5, 1, 3, 5, 2, 45, 4, 12, 10, 5, 1] TWTRAPIClient来获取用户名。

这是iOS的代码片段:

TWTRAuthSession