我正在撰写一些有关Twitter上粉丝数量随时间变化的报告,但是在经过大量搜索和试错之后,我仍然无法获得粉丝数量随时间变化的数据,特别是过去的粉丝数量。
我知道有一种API可以获取每个粉丝的userId,但这对我来说太过复杂了,而且我需要每天进行调用。理想情况下,如果我能传递一个日期,它就可以返回该日期的粉丝数量。
有没有人有这方面的经验,并知道哪个API可以实现这个功能!
谢谢
我正在撰写一些有关Twitter上粉丝数量随时间变化的报告,但是在经过大量搜索和试错之后,我仍然无法获得粉丝数量随时间变化的数据,特别是过去的粉丝数量。
我知道有一种API可以获取每个粉丝的userId,但这对我来说太过复杂了,而且我需要每天进行调用。理想情况下,如果我能传递一个日期,它就可以返回该日期的粉丝数量。
有没有人有这方面的经验,并知道哪个API可以实现这个功能!
谢谢
尽管没有直接获取趋势线的 API,但获取跟随者数量相当容易,可以通过 URL 访问:
http://api.twitter.com/1/users/show.json?user_id=12345
文档已经包含所有内容 @ https://dev.twitter.com/docs/api/1/get/users/show
为了获得趋势线,似乎我需要每天查询一次!
更新为 Twitter API v1.1
https://api.twitter.com/1.1/users/show.json?user_id=12345
请参考https://dev.twitter.com/docs/api/1.1/get/users/show上的文档。
更新于2018年5月31日
新的API端点在此处。
https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-show
我知道这是一个老问题,但我想为那些仍在寻找获取Twitter粉丝数量的替代方法的人提供答案。经过我花费时间查阅文档后,我发现您需要通过开发者门户申请升级访问权,以便获取更多的信息。对于这种访问级别,您需要在开发者门户内申请附加访问权限。您可以从这里检查访问级别。
https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-level
经过一番搜索和调查,我找到了这个方法。它不需要身份验证,但我不能保证它将来不会被禁用。只需提供您想要查询的任何账户的screen_name即可。例如:
https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=binance
... 这将给您提供类似以下内容:
[
{
"following": false,
"id": "877807935493033984",
"screen_name": "binance",
"name": "Binance",
"protected": false,
"followers_count": 6959348,
"formatted_followers_count": "6.96M followers",
"age_gated": false
}
]
这里是一个简单的PHP示例,使用CURL获取已选择的个人资料(此处为@TwitterFrance)的关注者数量,并使用v2 API和持票人令牌(持票人令牌是一种通过OAuth 2.0 API访问公共数据的简化方法),不涉及任何库。
$authorization = "Authorization: Bearer YOUREXTRALONGBEARERYOUREXTRALONGBEARERYOUREXTRALONGBEARERYOUREXTRALONGBEARERYOUREXTRALONGBEARERYOUREXTRALONGBEAR";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', $authorization));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "https://api.twitter.com/2/users/by/username/TwitterFrance?user.fields=public_metrics");
$result = curl_exec($ch);
curl_close($ch);
if (is_string($result)) {
echo (json_decode($result)->data->public_metrics->followers_count);
die();
}
使用Python:
import tweepy
twitter = tweepy.Client(bearer_token="your bearer token")
单个用户:
print(twitter.get_user(username="twitter username", user_fields=["public_metrics"]).data.public_metrics['followers_count'])
多用户:
for i in twitter.get_users(usernames=twitterProfiles, user_fields=["public_metrics"]).data:
print(i.public_metrics['followers_count'])
followers_count
,您需要将Twitter SDK集成到您的应用程序中,并遵循集成详细说明:https://github.com/twitter/twitter-kit-ios。"最初的回答"//This is complete url
https://api.twitter.com/1.1/users/show.json?screen_name=screenName
func getStatusesUserTimeline(accessToken:String) {
let userId = "109*************6"
let twitterClient = TWTRAPIClient(userID: userId)
twitterClient.loadUser(withID: userId) { (user, error) in
print(userId)
print(user ?? "Empty user")
if user != nil {
var request = URLRequest(url: URL(string: "https://api.twitter.com/1.1/users/show.json?screen_name=screenName")!)
request.httpMethod = "GET"
request.setValue("Bearer "+accessToken, forHTTPHeaderField: "Authorization")
print(request)
let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(String(describing: error))")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(String(describing: response))")
}
do {
let response = try JSONSerialization.jsonObject(with: data, options: []) as! Dictionary<String,Any>
print(response)
// print((response["statuses"] as! Array<Any>).count)
} catch let error as NSError {
print(error)
}
}
task.resume()
} else {
print(error?.localizedDescription as Any)
}
}
}