[英]How do I get an array of the followers of a user who has verified themselves? (Twitter API v1.1)
[英]How to get user image with Twitter API 1.1?
在 API 1.0 中,我们可以使用users/profile_image/:screen_name
例如: http://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE
://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE
但是,它在API 1.1 中不再起作用。
请问你有解决办法吗?
好的,所以你想要一个用户的个人资料图片。 您将需要查看twitter REST API 1.1文档 。 这是您可以对其API进行的所有不同请求的列表(不用担心,我将在稍后介绍您实际执行此操作的方式)。
有多种方法可以获取用户的个人资料图像,但最值得注意的是: users / show 。 根据这个文档,用户/ show方法:
返回有关由所需user_id或screen_name参数指定的用户的各种信息。 作者的最新推文将在可能的情况下以内联方式返回。
那么,用户个人资料图片必须在某处,对吗?
让我们看看使用users / show url对此信息的请求的典型响应(我们将使用我的个人资料作为示例)。
我从底部切断了一些,因为有很多数据要经过。 最重要的是,你会看到你需要的东西:
这是您需要访问的profile_image_url键。
那么,你怎么做这一切? 实际上,它非常简单。
正如您正确指出的那样,截至2013年6月11日,您无法再生成未经身份验证的请求或任何1.0 API,因为它已经停用。 因此,OAuth是向1.1 API发出请求的方式。
我写了一个堆栈溢出帖子 ,旨在帮助你们所有人对1.1 API进行经过身份验证的请求,而不费吹灰之力。
当您使用它时,您将获得上面看到的响应。 按照帖子说明,一步一步,您可以在这里获取库(您只需要在项目中包含一个文件)。
基本上,上一篇文章解释说您需要执行以下操作:
$settings
数组中 我假设您按照上面帖子中的分步说明(包含漂亮的彩色图片)。 这是您用来获得所需内容的代码。
// Require the library file, obviously
require_once('TwitterAPIExchange.php');
// Set up your settings with the keys you get from the dev site
$settings = array(
'oauth_access_token' => "YOUR_ACCESS_TOKEN",
'oauth_access_token_secret' => "YOUR_ACCESS_TOKEN_SECRET",
'consumer_key' => "YOUR_CONSUMER_KEY",
'consumer_secret' => "YOUR_CONSUMER_SECRET"
);
// Chooose the url you want from the docs, this is the users/show
$url = 'https://api.twitter.com/1.1/users/show.json';
// The request method, according to the docs, is GET, not POST
$requestMethod = 'GET';
// Set up your get string, we're using my screen name here
$getfield = '?screen_name=j7mbo';
// Create the object
$twitter = new TwitterAPIExchange($settings);
// Make the request and get the response into the $json variable
$json = $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
// It's json, so decode it into an array
$result = json_decode($json);
// Access the profile_image_url element in the array
echo $result->profile_image_url;
这就是它! 很简单。 还有用户/查找有效地做同样的事情,但你可以:
返回完全水合的用户对象,每个请求最多100个用户,由传递给user_id和/或screen_name参数的逗号分隔值指定。
如果您需要获取多个用户的详细信息,请使用该信息,但由于您只需要一个用户的详细信息,请使用上述用户/ show。
我希望清理一下!
您说您想使用Twitter API 1.1,但您不想验证您的请求。 API v1.1不支持未经身份验证的请求。 所以请调整API更改。 查看更新:
您可以从https://api.twitter.com/1.1/users/show.json
请求的profile_image_url
字段获取图像。 此方法需要id
或screen_name
。 例如 :
GET https://api.twitter.com/1.1/users/show.json?screen_name=rsarver
尝试这个
http://api.twitter.com/1/users/profile_image/{twitter_account}.xml?size=bigger
在API 1.1中,唯一的方法是连接您的应用程序,检索用户
https://dev.twitter.com/docs/api/1.1/get/users/show
并在他的照片后检索
profile_image_url
正如之前的回答和评论所指出的那样:
挑选任何两个; 所有这三个都是不行的。 @Jimbo的答案是正确的(以及正确的方法),但不包括#3。 抛出#1意味着回到过去。 但是,我们可以抛出#2,直接转到源:
curl -s https://twitter.com/EA_FIFA_FRANCE |
sed -ne 's/^.*ProfileAvatar-image.*\(https:[^"]*\).*$/\1/p'
sed
命令只是说,找到包含“ProfileAvatar-image”的行并打印看起来像带引号的URL的子字符串。
这不如经过身份验证的API调用稳定,因为Twitter可能随时更改其HTML,但它比处理OAuth更容易,并且没有官方速率限制!
PHP翻译应该很简单。
我尝试上述方法来获取配置文件 URL,但它对我不起作用。 我认为是因为 Twitter 将 API v1.1 更改为 API v2.0。
我找到了一种获取个人资料 URL 的简单方法。
我在那里使用 Twitter API v2 User Lookup -> User by Username API 部分
代码示例:
https://api.twitter.com/2/users/by/username/{user_name}?user.fields=profile_image_url
获取Twitter个人资料图片是一种非常简单的方式。
http://res.cloudinary.com/demo/image/twitter_name/w_300/ {User_Name} .jpg
这是我的个人资料picutre:Big: http ://res.cloudinary.com/demo/image/twitter_name/w_300/avto_key.jpg
小: http : //res.cloudinary.com/demo/image/twitter_name/w_100/avto_key.jpg
您可以通过URL的这一部分来调整大小 - w_100,w_200,w_500等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.