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");         

問題 : 最初のテストはうまくいきましたが、2 番目のテストで次のエラーが表示されることを壁に投稿しました。

Twitter のクエリ中にエラーが発生しました。

誰かがこの問題を解決するのを手伝ってくれる

ありがとう、

4

1 に答える 1

1

LINQ to Twitter は、Twitter からのエラーを検出すると、TwitterQueryException をスローします。TwitterQueryException インスタンスの Response プロパティを見て、Twitter が送り返しているメッセージを確認できます。クエリと Twitter の応答を完全に把握するもう 1 つの方法は、Fiddler2 を使用して HTTP トラフィックを表示し、Twitter の応答を確認することです。

あなたの場合、最初の投稿はうまくいったが、2 番目の投稿はうまくいかなかったという事実を見ています。これは、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で FAQ を開始しました。

于 2012-06-15T19:39:25.717 に答える