更新/发布到Twitter时出错

时间:2012-06-15 16:26:13

标签: linq-to-twitter

我尝试使用此代码发布在用户的墙上(Twitter)

if (credentials.ConsumerKey == null || credentials.ConsumerSecret == null)
             {
                 credentials.ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"];
                 credentials.ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"];
             }

                auth = new MvcAuthorizer
                {
                    Credentials = credentials
                };

                auth.CompleteAuthorization(Request.Url);

                if (!auth.IsAuthorized)
                {
                    Uri specialUri = new Uri(Request.Url.ToString());
                    return auth.BeginAuthorization(specialUri);
                }

                twitterCtx = new TwitterContext(auth);

                twitterCtx.UpdateStatus("Welcome");         

问题:第一次测试顺利,我贴在墙上第二次测试显示此错误:

查询Twitter时出错。

有人可以帮我解决这个问题

谢谢,

1 个答案:

答案 0 :(得分:1)

当检测到来自Twitter的错误时,LINQ to Twitter会抛出TwitterQueryException。您可以查看TwitterQueryException实例的Response属性,以查看Twitter发回的消息。获得查询和Twitter响应的完整视图的另一种方法是使用Fiddler2查看HTTP流量并查看Twitter的响应。

在你的情况下,我看到你说第一篇文章有​​效,但第二篇文章没有。这可能是由发布重复邮件引起的,Twitter不允许这样做。如果您查看发布消息的任何LINQ to Twitter演示,您会注意到它们包含DateTime,这实际上保证了每条消息的文本都不同。所以,在你的情况下,你可以试试这个:

        twitterCtx.UpdateStatus("Welcome - " + DateTime.Now.ToString()); 

欢迎您通过从TwitterQueryException发布Response属性的内容来提供更多信息。另外,有关详细信息,我已经在http://linqtotwitter.codeplex.com/wikipage?title=LINQ%20to%20Twitter%20FAQ&referringTitle=Documentation开始了常见问题解答。