5

2010年にC#.NET 2.0 WinFormを使用していますが、ユーザーがログインしてコメントを投稿する機能を追加しました。コメントを投稿する方法について.NET開発者ガイドをコピーしましたが、コメントを投稿しようとすると、ランダムですが頻繁に例外が発生します。最初は、youtubeログイン名の代わりにgoogle電子メールを使用することに問題があるのではないかと思いました。ユーザーが正常にログインしたときにこれを回避するには、プロファイルを要求し、ユーザー名を取得して、新しいものを作成します。 youtube設定クラスを作成し、ユーザーのプロファイル名を使用して適切なクレデンシャルを指定します。ただし、これで問題が解決するわけではなく、コメントは散発的に機能します。基本的にログインを処理するコードは次のとおりです。

       youtubeService.setUserCredentials(userBox.Text, passwordBox.Text);

        try
        {
            String strAuth = youtubeService.QueryClientLoginToken();
        }
        catch (Exception ex)
        {
        }         

上記のコードは別の形式です。YouTubeビデオをホストするフォームは、基本的にこのプロセスが完了したかどうかを確認し、ログインに使用したユーザー名とパスワードを取得して、新しい設定を設定します。

                m_LoggedInSettings = new YouTubeRequestSettings(myappname, mydevkey, username, password);
                m_LoggedInRequest = new YouTubeRequest(m_LoggedInSettings); 

次に、これを使用してコメントを追加しました。

                Comment userComment = new Comment();
                userComment.Content = commentText;
                m_LoggedInRequest.AddComment(youtubevideo, userComment);   

失敗すると、次のようになります。

{"リクエストの実行に失敗しました:https ://gdata.youtube.com/feeds/api/videos/t-8K8Hj8bxE/comments "}

次の情報で:

{"リモートサーバーがエラーを返しました:(403)禁止されています。"}

ステータスコード:

System.Net.HttpStatusCode.Forbidden

ステータスの説明:

禁断

いくつかのことが頭に浮かびます、私はその瞬間に暗示されるYouTubeに何かを送信する適切なログアウトを持っていません(これは必要ですか?)、それは私が複数回ログインした可能性があり、それはどういうわけかYouTubeにフラグを立てています側?また、基本的に新しい設定を作成していて、ビデオ/コメントの取得に使用されなかったオブジェクトを要求している可能性があります。通常の設定ファイル(ログインなし)から取得したビデオで問題が発生している可能性がありますか?正直なところ、私は何が悪いのか見当がつかず、どんな助けでも大いに活用されるでしょう。

4

1 に答える 1

1

さて、エラーが発生した理由は、連続したコメントを投稿するのが速すぎたためだとわかりましたが、さらにコメントを投稿できるようになるまでのタイムアウトはわかりません。

于 2012-04-17T10:02:44.517 に答える