0

我尝试使用此代码在用户的墙上(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 时出错。

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

谢谢,

4

1 回答 1

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开始了一个常见问题解答。

于 2012-06-15T19:39:25.717 回答