我一直试图让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());
}
}
}
答案 0 :(得分:3)
您可以使用ExceptionHandler获取有关出错的更多信息。该库旨在不抛出异常,而是返回null并将错误信息添加到Tweetinvi命名空间中的ExceptionHandler类。因此,尝试在返回的对象上检查null,然后查看ExceptionHandler ......就像这样:
if (tweets == null)
{
textBox1.Text += ExceptionHandler.GetLastException().TwitterDescription;
}
最可能的罪魁祸首是你实际上没有经过身份验证。