Upload von YouTube Videos über PHP, was mache ich falsch?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bau
bisheriger code
code
comedy
datum
dokumentation
entsprechende meldungen
erfahrung
erstellen
gefunden video
information
null
objekt
pfad
quelle
rat
setzen
test
typ
video
-
Hallo liebe Leute,
ich versuche mich zurzeit daran ein kleines PHP Skript zu basteln,
womit ich Videodateien auf YouTube hochladen kann. Das alles natürlich über meinen Account.
Jetzt habe ich mich ein wenig in die API eingelesen,
das entsprechende Zend Framework eingefügt, den Pfad auf die Librarys gesetzt
und meine ersten Versuche gestartet, jedoch hapert es irgendwo xD
Folgendes möchte ich erreichen:
Videoupload auf meinen YouTube Account ohne Formular o.ä.,
ich gebe eine Quelle an und die soll hochgeladen werden.
Dazu muss man wohl, so glaube ich,
sich erstmal in seinen Account über Zend_Gdata_ClientLogin einloggen.
Danach muss man ein Zend_Gdata_YouTube Objekt erstellen,
nötig um Quelle des Videos anzugeben bzw. Typ usw.
Nun muss man noch ein Zend_Gdata_YouTube_VideoEntry Objekt erstellen,
zum setzen von Video Daten und über newMediaFileSource() wird die Quelle des Videos angegeben(?)
Über try und catch startet dann die Übermittlung, catch gibt dann entsprechende Meldungen raus(?)
Ist das so im groben richtig?
Hier mal mein bisheriger Code:<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Gdata_YouTube'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); /* * Login in meinen Account */ $filePath = "datei.avi"; $client = Zend_Gdata_ClientLogin::getHttpClient( $username = 'xxxxxxxx', $password = 'xxxxxxxx', $service = 'youtube', $client = null, $source = 'MySource', // a short string identifying your application $loginToken = null, $loginCaptcha = null, $authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin'); /* * Neue Objekte erstellen */ $yt = new Zend_Gdata_YouTube($client); $myVideoEntry = new Zend_Gdata_YouTube_VideoEntry(); /* * Quelle angeben * Informationen setzen */ $filesource = $yt->newMediaFileSource($filePath); $filesource->setContentType('video/x-msvideo'); $filesource->setSlug($filePath); $myVideoEntry->setMediaSource($filesource); $myVideoEntry->setVideoTitle('My Test Movie'); $myVideoEntry->setVideoDescription('My Test Movie'); $myVideoEntry->setVideoCategory('Comedy'); $myVideoEntry->setVideoTags('cars,funny'); $uploadUrl = 'http://uploads.gdata.youtube.com/feeds/api/users/default/uploads'; try { $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry'); } catch (Zend_Gdata_App_HttpException $httpException) { echo $httpException->getRawResponseBody(); } catch (Zend_Gdata_App_Exception $e) { echo $e->getMessage(); } ?>
Weiß jemand Rat wie ich mein Ziel erreiche bzw. hat mehr Erfahrung damit?
Als Ausgabe erhalte ich nichts, man könnte meinen es hätte geklappt,
jedoch ist kein neues Video hochgeladen worden, wenn ich mich ganz normal auf YouTube einlogge.
Beitrag zuletzt geändert: 12.8.2010 18:13:29 von garlian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich habe zwar keine erfahrungen mit der youtube-api, aber könnte es sein das das video schon codiert sein muss wenn es über den weg reinkommt?
und bau evtl ein "or die" ein damit du siehst ob es irgendwo hapert (server nicht erreichbar, file nicht gefunden, video nicht eingetragen etc)..
Beitrag zuletzt geändert: 12.8.2010 18:21:19 von sideblog -
PROBLEM GELÖST
Fehler:
Es war noch ein sogenannter developer key nötig, weil man ansonsten keine Schreibrechte hat^^"
Hab ich versehntlich in der Dokumentation überlesen -.-
Kann geschlossen werden! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage