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.