1

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然后检查结果是否为空。我成功地测试了这种方法 - 但是我的应用程序逻辑更喜欢提前检查是否可以发送,并且基于此信息应该执行不同的操作。

4

2 回答 2

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();
}
于 2012-03-11T13:56:13.093 回答
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"})
    }
于 2018-07-28T04:14:33.303 回答