5

我正在尝试从 twitter 获取推文

但我得到一个错误

对象引用未设置为实例

代码:

    public void Call_Tweet_Update()
    {
        var service = new TwitterService(Consumer_Key, Consumer_Secret);
        service.AuthenticateWith(Access_Token, AccessToken_Secret);

        var tweets = service.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions { Count = 200 });
        string[] twt_id = new string[50];
        long id = 0;
        int i = 0;
        int increment = 0;
        string twtid;
        string screenname;

        foreach (var tweet in tweets)
        {
            if (tweet.InReplyToStatusId.ToString() != "")
            {
                if ((tweet.User.ScreenName == "IIPL_LTD") || (tweet.Text.StartsWith("@IIPL_LTD")))
                {
                    string replyid = tweet.InReplyToStatusId.ToString();

                    while (replyid != "")
                    {
                        if (i == 0)
                        {
                            twt_id[i] = tweet.Id.ToString();
                        }
                        id = Convert.ToInt64(replyid);
                        var twt = service.GetTweet(new GetTweetOptions { Id = id });
                        //twtid = Convert.ToInt64(tweet.Id).ToString();
                        twtid = Convert.ToInt64(twt.Id).ToString();
                        //abc = twtid;
                        i = i + 1;
                        twt_id[i] = twtid;
                        replyid = twt.InReplyToStatusId.ToString();
                       // replyid = tweet.InReplyToStatusId.ToString();
                        // replyid = "";
                        increment = increment + 1;
                    }
                  }
                }

这是由未设置为实例的对象引用终止的代码

获取 id 为 38811592704 但下面的行获取空值

var twt = service.GetTweet(new GetTweetOptions { Id = id });

   while (replyid != "")
   {
       if (i == 0)
       {
          twt_id[i] = tweet.Id.ToString();
       }
       id = Convert.ToInt64(replyid);
       var twt = service.GetTweet(new GetTweetOptions { Id = id });
       twtid = Convert.ToInt64(twt.Id).ToString();
    }

有任何想法吗?提前致谢。

4

2 回答 2

1

唯一会导致您出现问题的是您的类构造函数

new GetTweetOptions

给你例外。转到这个类的构造函数,看看是什么造成了错误

于 2013-08-14T09:52:32.937 回答
1

调试您的代码检查您收到此错误的对象,然后尝试通过使用 NEW 关键字创建该对象的新实例来解决此错误

例如假设 var twt = service.GetTweet(new GetTweetOptions { Id = id });

对象中的服务,然后您将在使用该对象之前创建一个新实例

于 2013-12-04T05:39:51.487 回答