我一直在为我们的业务开发内部ASP.NET Web表单应用程序,其中一个要求是在我们的门户主页上向所有用户显示我们的Twitter供稿。Linq2Twitter单用户授权空值异常
为此,我已决定最好使用LinqToTwitter单用户授权来获取每个人的状态,而无需他们验证自己的帐户。
我在一分钟主要问题是,当我们使用auth对象来获取TwitterContext,它在TwitterContext一个错误说
Value cannot be null
每个内部上下文对象
返回。
我已经通过我们的叽叽喳喳应用程序设置http://dev.twitter.com,我有我们正确的消费者密钥/令牌和访问密钥/令牌。应用程序的权限设置为只读。在http://dev.twitter.com网站上没有指定回调网址,因为它目前在我们的内部系统上(所以无论如何它都无法返回)。这是哪里出错?我是否需要转发一些端口并允许回调连接到我们的开发机器?
下面是谨慎的代码。据我所知,它没有任何问题。我知道它被设置为.FirstOrDefault
,这只是为了看看它是否真的获得了任何东西(事实并非如此)。
感谢您的帮助! :)
private async Task GetTweets()
{
var auth = new SingleUserAuthorizer
{
CredentialStore = new SingleUserInMemoryCredentialStore
{
ConsumerKey = ConfigurationManager.AppSettings["consumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["consumerSecret"],
AccessToken = ConfigurationManager.AppSettings["accessToken"],
AccessTokenSecret = ConfigurationManager.AppSettings["accessTokenSecret"],
}
};
try
{
using (TwitterContext twitterContext = new TwitterContext(auth))
{
var searchResponse = await (from c in twitterContext.Status
where c.Type == StatusType.User
&& c.ScreenName == "my_screenname"
select c).ToListAsync();
Tb_home_news.Text = searchResponse.FirstOrDefault().Text;
}
}
catch (Exception ex)
{
Tb_home_news.Text = ex.Message;
}
}
嗨乔梅奥。对不起,我一个月后才回来,被放到其他地方。我已经检查了searchResponse并且从未填充过。它从来没有捕捉到'ex.ToString()'的异常,因为它从来没有那么远,它碰到'await'并且永远不会继续。可能是因为CredentialStore没有存储UserID或ScreenName? – MightyLampshade