我的应用程序中有一个功能,可以找到用户关注者的ID。 但我想获得这些粉丝的screenName。
我试图直接获得followers.screenName但它不起作用,因为粉丝类型是SocialGraph而不是字符串! 我试图在字符串上转换它,但我不能,因为它返回一个列表。
例如,当我搜索拥有1680名粉丝的人时,会导致问题。 它给了我错误:超出了速率限制。
我想知道是否可以使用一组userID执行相同的操作,以不超过API的速率限制?我正在和lintotwitter合作......
我该怎么办?
我的代码如下:
public List<string> RecupererFollower()
{
List<string> idFollowers=new List<string>();
var followers =
(from follower in MainPage.twitterCtxProp.SocialGraph
where follower.Type == SocialGraphType.Followers &&
follower.ScreenName == MainPage.texte
select follower)
.ToList();
idFollowers = followers[0].IDs;
return idFollowers;
}
public List<User> GetScreenName()
{
List<string>idFollowers=RecupererFollower();
int nbfollower = idFollowers.Count();
List<User> listeFollowers = new List<User>();
for (int i = 0; i < nbfollower; i++)
{
var usersResponse =
(from user in MainPage.twitterCtxProp.User
where user.Type == UserType.Lookup &&
user.UserID == idFollowers[i]
select user).SingleOrDefault();
Users = new User //Un utilisateur est créé grâce aux données récupérées précédemment.
{
Name = usersResponse.ScreenName,
Text = usersResponse.Status.Text,
ImageUrl = usersResponse.ProfileImageUrl,
Bio = usersResponse.Description,
Url = usersResponse.Url,
NbFollowers = usersResponse.FollowersCount,
NbFavorite = usersResponse.FavoritesCount,
NbStatus = usersResponse.StatusesCount,
NbFollowing = usersResponse.FriendsCount,
NbListe = usersResponse.ListedCount,
Timezone = usersResponse.TimeZone,
Location = usersResponse.Location,
};
listeFollowers.Add(Users);
}
return listeFollowers;
}
答案 0 :(得分:0)
Twitter API正在设置速率限制。限制是在时间窗口期间的一定数量的请求。时间窗口通常为15分钟。对于Lookup,速率限制为180.您可以使用HelpType.RateLimits查询:http://linqtotwitter.codeplex.com/wikipage?title=Getting%20Rate%20Limits - 这将允许您编写代码以确定速率限制。然后,您可以最大限度地提高速率限制并等到下一个窗口继续。