Youtube Api v3 login über OAuth 2.0

  • Thread stellvertretend für Christopher erstellt.
    @Admins & i2c, bitte dafür sorgen, dass JEDER Nutzer von AutoIt.de auch dieses Forum nutzen kann!

  • Hi!

    Danke, @Andy für die Hilfe!

    So, ich möchte mich über OAuth 2.0, in Youtube anmelden, damit ich den Autorisierungstooken bekomme...
    Der ist nötig, um Videos mit hilfe der Api zu Liken usw.
    Dies ganze findet in der Youtube Api v3 stadt und ist auch nicht im Browser, sondern über Winhttprequest.5.1.
    Ich benutze keine Versteckten Browser aufrufe, da ich die methode über Winhttprequest viel eleganter und schneller halte.

    Jetzt ist die Frage, ist über Winhttprequest auch eine OAuth 2.0 anmeldung möglich?
    Wenn ja, wie kann ich das am bessten angehn?
    Ich hab mich schon eingehend damit beschäftigt, allerdings krieg ich das nicht hin... Zusätzlich kenn ich mich mit dem OAuth protokol nicht sehr gut aus.
    Hier mal der 1. Schritt, ein Minimal beispiel. Wenn ich das ausführe, bekomm ich eine schöne anmeldungsseite, aber ich möchte die Login-Daten in einem GUI eingeben, d.h. in einer eigenen Inputbox. Geht das? Denn ich möchte auch die Funktion haben, dass die nutzerdaten verschluesselt gespeichert werden, dass man nicht immer bei jedem Start die Daten eintippen muss.
    Aber, dass ist ja nicht schwer, vorraus gesetzt, ich schaffe es, ab hier dann mit Variablen den Anmeldeprozess vortzusetzen, ohne das ein Browser gebraucht wird.
    Also, hier mal der 1. Schritt in Autoit:

    Spoiler anzeigen
    [autoit]


    ; Die Daten, die gesendet werden sollen
    $sPD= 'client_id=15113065612-b3gcjk8fphcm7lnu8nfonh7dvso7ldjq.apps.googleusercontent.comredirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/youtube'
    ; Erstellung des Objekts
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", "https://accounts.google.com/o/oauth2/auth", False)
    $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
    ; Ausführen des Requests
    $oHTTP.Send($sPD)
    ; Download des HTML-Codes und auswertung des Serverstatuses
    $oReceived = $oHTTP.ResponseText
    $oStatusCode = $oHTTP.Status

    [/autoit] [autoit][/autoit] [autoit]

    If $oStatusCode <> 200 then
    MsgBox(4096, "Response code", $oStatusCode)
    EndIf
    ; Speichert den Html-Code
    $file = FileOpen("Received.html", 2)

    [/autoit] [autoit][/autoit] [autoit]

    FileWrite($file, $oReceived)
    FileClose($file)

    [/autoit]

    In der angehängten Datei "anhang.zip", sind die 1. Schritt in autoit und der zurück gegebene HTML-Code gespeichert...

    Infos über den Anmelde prozess findet ihr hier:
    https://developers.google.com/youtube/v3/gui…#installed-apps
    Auch weiss ich, dass die frage schon einige male gestellt wurde, aber dort gab es keine zufriedenstellende Antworten... Wenn man hier im Forum gräbt, findet man auch einen Thread, allerdings ist dort von der API v2 die rede und ich glaube kaum, dass ich den Tooken von Api V2 in API v3 auch verwenden kann...

    Kann mir jemand in dieser richtung Tipps und/oder Hilfestellung geben?

    Hoffe, ihr könnt mir weiter helfen...

    LG. Chris.

    Einmal editiert, zuletzt von christopher (16. November 2014 um 10:49)