5 Stimmen

Das Hinzufügen von Kommentaren mit der Youtube-API schlägt in .NET zufällig fehl

Ich verwende eine C# .NET 2.0 Winform in 2010, ich habe die Möglichkeit für einen Benutzer hinzugefügt, sich anzumelden und Kommentare zu veröffentlichen. Ich habe das .NET-Entwicklerhandbuch kopiert, wie man Kommentare veröffentlicht, aber ich erhalte zufällige, aber häufige Ausnahmen, wenn ich versuche, Kommentare zu veröffentlichen. Zuerst dachte ich, es könnte daran liegen, dass es ein Problem mit der Verwendung einer Google-E-Mail anstelle des youtube-Login-Namens gibt. Um dies zu umgehen, wenn sich ein Benutzer erfolgreich anmeldet, fordere ich das Profil an, erhalte den Benutzernamen und erstelle eine neue youtube-Einstellungsklasse und gebe die entsprechenden Anmeldedaten mit dem Profilnamen des Benutzers an. Dies hat das Problem jedoch nicht behoben, die Kommentare funktionieren immer noch sporadisch. Hier ist der Code, der grundsätzlich die Anmeldung behandelt.

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

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

Der obige Code befindet sich in einem separaten Formular. Das Formular, in dem das YouTube-Video gehostet wird, prüft, ob dieser Vorgang abgeschlossen ist, und erfasst den Benutzernamen und das Passwort, die für die Anmeldung verwendet wurden, und legt die neuen Einstellungen fest:

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

Diese wird dann verwendet, um einen Kommentar hinzuzufügen:

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

Wenn er fehlschlägt, erhalte ich die folgende Meldung:

{"Die Ausführung der Anfrage ist fehlgeschlagen: https://gdata.youtube.com/feeds/api/videos/t-8K8Hj8bxE/comments "}

Mit den folgenden Informationen:

{"Der entfernte Server hat einen Fehler zurückgegeben: (403) Forbidden."}

Status-Code:

System.Net.HttpStatusCode.Forbidden

Statusbeschreibung:

Verbotene

Ein paar Dinge fallen mir ein, ich habe kein richtiges Logout, das irgendetwas an youtube sendet (ist das notwendig?), also kann es sein, dass ich mich mehrfach eingeloggt habe und das irgendwie auf youtube-Seite auffällt? Es könnte auch sein, dass ich im Wesentlichen neue Einstellungen und Anforderungsobjekte erstelle, die nicht verwendet wurden, um das Video/die Kommentare abzurufen, und dass das Video, das aus der normalen Einstellungsdatei (ohne Anmeldung) stammt, vielleicht Probleme macht oder ähnliches? Um ehrlich zu sein, habe ich keine Ahnung, was falsch ist, und jede Hilfe wäre sehr willkommen.

1voto

user1105748 Punkte 185

Okay, ich habe herausgefunden, dass der Grund für den Fehler darin liegt, dass ich versucht habe, zu schnell aufeinanderfolgende Kommentare zu posten, aber ich weiß nicht, wie lange es dauert, bis ich weitere Kommentare posten kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X