TweetSharp中是否有某些功能可以与我下面的'IsFollowingMe'类似的方式使用?
我想在尝试发送私信之前检查用户是否关注我。
TweetSharp.TwitterService service;
string screenName = "@some_one";
string someMessage = "Some Message";
if (service.IsFollowingMe(screenName))
{
service.SendDirectMessage(screenName, someMessage);
else
NotifyThatSendingNotPossible();
}
这种方法的第一个选择是使用:
TweetSharp.TwitterService service;
TwitterCursorList<TwitterUser> followers = service.ListFollowers();
然后遍历结果以查明用户是否关注了我的帐户。但是,当有很多粉丝时,这最终会无效。
另一个选项是执行service.SendDirectMessage
,然后检查结果是否为null。我成功地测试了这种方法 - 但是我的应用程序逻辑更喜欢提前检查是否可以发送,并且基于此信息应该执行不同的操作。
答案 0 :(得分:1)
答案如下:
TweetSharp.TwitterService service;
string fromUser = "@mr_sender";
string toUser = "@some_one";
string someMessage = "Some Message";
TweetSharp.TwitterFriendship friendship =
service.GetFriendshipInfo(fromUser, toUser);
if (friendship.Relationship.Source.CanDirectMessage.HasValue &&
friendship.Relationship.Source.CanDirectMessage.Value)
{
service.SendDirectMessage(screenName, someMessage);
}
else
{
NotifyThatSendingNotPossible();
}
答案 1 :(得分:0)
我可以使用以下方法解决此问题。
var twitterFriendship = service.GetFriendshipInfo(new GetFriendshipInfoOptions() { SourceScreenName = "source_name", TargetScreenName = "target_name"});
之后,您可以按如下所示进行检查
if(twitterFriendship.Relationship.Source.Following && twitterFriendship.Relationship.Target.FollowedBy)
{
service.SendDirectMessage(new SendDirectMessageOptions() { ScreenName="target_name",Text="message"})
}