Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP & YouTube API

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP & YouTube API

    Hallo zusammen,

    ich weiß nicht ob das Thema hier im richtigen bereich gepostet wurde von mir, daher bitte ich um Verschiebung falls es hier falsch ist.
    Meine Frage an euch ist etwas schwierig und ich hoffe ich bringe sie verständlich rüber.

    Ich hatte mich nun seit ca. 2 Wochen mit der YouTube / Google Api befasst und wollte mittels einer PHP Seite, ein Kommentar unter einem Video Posten.

    Das Thema hat sich allerdings für mich schwieriger dargestellt, als es wahrscheinlich für gute PHP Entwickler ist. (Daher bin ich auch hier und frage euch)

    Vorab, bevor ich die Frage stelle... Ich habe mir etliche Videos angeschaut und versucht diese irgendwie so umzusetzen, wie ich es auch brauch.
    Hat leider alles nicht so ganz funktioniert. Mittlerweile habe ich mir ein API Token erstellt und auch seit eben eine "OAuth 2.0 client ID".
    Habe dank Videos im Internet das richtig einstellen können. Nun kam ich aber zum schweren Part, denn ich einfach nicht verstehe und umsetzen kann.
    Deshalb auch meine Frage:

    Wie kann ich auf meiner Seite folgendes machen:
    1.) Videolink im Formular übergeben und zu Authentifizierung gelangen um der API mein Konto Zugriff zu gewähren.
    2.) Zurück zu einer Callback Seite gelangen mit dem Videolink als String.
    3.) Kommentar schreiben in einem neuen Formular das man absenden kann und dann auch wirklich auf YouTube zu sehen ist.

    Wenn ich unter "https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert?part=snippet&_h=3&re source=%257B%250A++%2522snippet%2522%253A+%250A++% 257B%250A++++%2522topLevelComment%2522%253A+%250A+ +++%257B%250A++++++%2522snippet%2522%253A+%250A+++ +++%257B%250A++++++++%2522textOriginal%2522%253A+% 2522%2522%250A++++++%257D%250A++++%257D%252C%250A+ +++%2522videoId%2522%253A+%2522%2522%250A++%257D%2 50A%257D&" die ID des Videos und und den gewünschten Text eingebe, kann ich mit Execute mein Konto auswählen und es dann absenden. Dadurch entsteht ein "Request" und ein "Response" was ungefähr so aussieht:

    Request (bsp.: unter einem Google Video):
    POST https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&key={YOUR_API_KEY}
    {
    "snippet": {
    "topLevelComment": {
    "snippet": {
    "textOriginal": "Hallo Test !"
    }
    },
    "videoId": "MILSirUni5E"
    }
    }
    Response (bsp.: unter einem Google Video):
    200 - Hide headers -
    cache-control: no-cache, no-store, max-age=0, must-revalidate content-encoding: gzip content-length: 581 content-type: application/json; charset=UTF-8 date: Tue, 10 Jul 2018 21:19:00 GMT etag: "XI7nbFXulYBIpL0ayR_gDh3eu1k/pBeHA8COtdFTVAQly_O8QQdQKvI" expires: Mon, 01 Jan 1990 00:00:00 GMT pragma: no-cache server: GSE vary: Origin, X-Origin
    {
    "kind": "youtube#commentThread",
    "etag": ""XI7nbFXulYBIpL0ayR_gDh3eu1k/pBeHA8COtdFTVAQly_O8QQdQKvI"",
    "id": "Ugy0P3Q3mAtNSi6Z-Gl4AaABAg",
    "snippet": {
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "videoId": "MILSirUni5E",
    "topLevelComment": {
    "kind": "youtube#comment",
    "etag": ""XI7nbFXulYBIpL0ayR_gDh3eu1k/bAGsYbpcNeCzzJqrzVacFXSn_Go"",
    "id": "Ugy0P3Q3mAtNSi6Z-Gl4AaABAg",
    "snippet": {
    "authorDisplayName": "Mein_Username_steht_hier",
    "authorProfileImageUrl": "Link_zu_mein_Profielbild",
    "authorChannelUrl": "http://www.youtube.com/channel/Meine_Channel_ID_steht_hier",
    "authorChannelId": {
    "value": "Meine_Channel_ID_steht_hier"
    },
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "videoId": "MILSirUni5E",
    "textDisplay": "Hallo Test !",
    "textOriginal": "Hallo Test !",
    "canRate": true,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2018-07-10T21:18:59.000Z",
    "updatedAt": "2018-07-10T21:18:59.000Z"
    }
    },
    "canReply": true,
    "totalReplyCount": 0,
    "isPublic": true
    }
    }
    Wie also mache ich das am besten auf meiner eigenen PHP Seite. (Ich weiß das man glaube JQuery / JS nutzen muss, aber leider nicht wie)

    Über Hilfe zu dem Thema würde ich sehr dankbar sein.

    Ganz liebe Grüße
    ~Ben

    EDIT:
    Mit der Suchfunktion hab ich es übrigens geschafft dank Hilfe von einem Video.
    Dort muss man aber halt kein Zugriff erlauben.
    Der Code dazu sieht so aus:
    Code:
    function tplawesome(e,t) {
        res = e;
        for(var n = 0; n < t.length; n++){
            res = res.replace(/\{\{(.*?)\}\}/g, function(e,r) {
                return t[n][r]
            })
        }
        return res
    }
    
    $(function() {
        $("form").on("submit", function(e) {
            e.preventDefault();
            //Anfrage...
            var request = gapi.client.youtube.search.list({
                part: "snippet",
                type: "video",
                q: encodeURIComponent($("#search").val()).replace(/%20/g, "+"),
                order: "viewCount",
                publishedAfter: "2018-01-01T00:00:00Z"
            });
            //Anfrage wird bearbeitet...
            request.execute(function(response) {
                //console.log(response); //Die Browser Console zeigt Resultate...
                var results = response.result;
                $("#results").html("");
                $.each(results.items, function(index, item) {
                    $.get("item.php", function(data) {
                        $("#results").append(tplawesome(data, [{"title":item.snippet.title, "videoid":item.id.videoId}]));
                    });
                });
                resetVideoHeight();
            });
        });
        $(window).on("resize", resetVideoHeight);
    });
    
    function resetVideoHeight() {
        $(".video").css("height", $("#results").width() * 9/16);
    }
    
    function init() {
        gapi.client.setApiKey("Mein_API_Key");
        gapi.client.load("youtube", "v3", function() {
            //YouTube API ist bereit...
        });
    }
    Kann man das irgendwie verwenden für das, was ich vor hab ?


  • #2
    Hast du es mal mit der offiziellen Dokumentation versucht: https://developers.google.com/youtub...anage_comments

    Kommentar


    • #3
      Zitat von alxy Beitrag anzeigen
      Hast du es mal mit der offiziellen Dokumentation versucht: https://developers.google.com/youtub...anage_comments
      Den Link hab ich tatsächlich übersehen und noch nicht versucht.
      Ich werde es gleich mal testen, melde mich wenn ich nicht weiter komme. :'D

      Kommentar

      Lädt...
      X