tweetinvi总是返回null

时间:2015-01-07 14:06:46

标签: c# twitter

我一直试图让tweetinvi工作,无论我做什么,它总是返回null。我已经尝试了3个带有搜索,速率限制和登录用户的查询,并且都返回null。不知道我做错了什么:我第一次尝试使用twitter api

Form1中

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading;
using Tweetinvi;
using Tweetinvi.Core.Enum;
using Tweetinvi.Core.Extensions;
using Tweetinvi.Core.Interfaces;
using Tweetinvi.Core.Interfaces.Controllers;
using Tweetinvi.Core.Interfaces.DTO;
using Tweetinvi.Core.Interfaces.DTO.QueryDTO;
using Tweetinvi.Core.Interfaces.Models;
using Tweetinvi.Core.Interfaces.Models.Parameters;
using Tweetinvi.Core.Interfaces.oAuth;
using Tweetinvi.Core.Interfaces.Streaminvi;
using Tweetinvi.Json;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
     //   TwitterCredentials.SetCredentials("xx", "xx", "xx", "xx");
    }

    public void Search_SimpleTweetSearch()
    {
        // IF YOU DO NOT RECEIVE ANY TWEET, CHANGE THE PARAMETERS!
        var tweets = Search.SearchTweets("hi");

        foreach (var tweet in tweets)
        {
          //  Console.WriteLine("{0}", tweet.Text);
            textBox1.Text += "tweet.Text" + System.Environment.NewLine;
        }
    }

    public void test()
    {
        var user = User.GetLoggedUser();
        textBox1.Text += user.ScreenName + System.Environment.NewLine;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        test();
       // Search_SimpleTweetSearch();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        var rateLimits = RateLimit.GetCurrentCredentialsRateLimits();
        textBox1.Text += rateLimits.ToString() + System.Environment.NewLine;
    }


}
}

Program.cs的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Tweetinvi;
using Tweetinvi.Core.Enum;
using Tweetinvi.Core.Extensions;
using Tweetinvi.Core.Interfaces;
using Tweetinvi.Core.Interfaces.Controllers;
using Tweetinvi.Core.Interfaces.DTO;
using Tweetinvi.Core.Interfaces.DTO.QueryDTO;
using Tweetinvi.Core.Interfaces.Models;
using Tweetinvi.Core.Interfaces.Models.Parameters;
using Tweetinvi.Core.Interfaces.oAuth;
using Tweetinvi.Core.Interfaces.Streaminvi;
using Tweetinvi.Json;

namespace WindowsFormsApplication4
{
static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        TwitterCredentials.SetCredentials("xx", "xx", "xx", "xx");
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}
}

1 个答案:

答案 0 :(得分:3)

您可以使用ExceptionHandler获取有关出错的更多信息。该库旨在不抛出异常,而是返回null并将错误信息添加到Tweetinvi命名空间中的ExceptionHandler类。因此,尝试在返回的对象上检查null,然后查看ExceptionHandler ......就像这样:

if (tweets == null)
{
    textBox1.Text += ExceptionHandler.GetLastException().TwitterDescription;
}

最可能的罪魁祸首是你实际上没有经过身份验证。