hilfdirselbst.ch
Facebook Twitter gamper-media
mauijana
Beiträge: 46
26. Aug 2013, 13:42
Beitrag #1 von 5
Bewertung:
(2126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

API - Mit PHP prüfen, ob das Youtube Video gelöscht wurde / oder prüfen, ob die Video Einbettung noch erlaubt ist


Ich hoffe ihr könnt mir bei folgenden Problem helfen:

Ich rufe die API mit PHP auf und möchte
1. Prüfen, ob das Video gelöscht wurde
2. Prüfen, ob die Video Einbettung noch erlaubt ist

Wenn ich 10 Datensätze teste, bekommt das PHP Script nicht immer eine API Info.

Habt ihr eine Idee, warum das Script nicht funktioniert?

Hier ist der Code:

$db = mysqli_connect("....");
$sql = "SELECT ID, de_youtube, de_name
FROM datenbank
WHERE ID > '0' AND ID < '11'
ORDER by ID";
$ergebnis = mysqli_query($db, $sql);

$i = 1;

while ($zeile = mysqli_fetch_assoc($ergebnis))
{
$ID_original = $zeile["ID"];
$de_youtube = $zeile["de_youtube"];
$de_name = $zeile["de_name"];



// Einlesen der API
$url = file_get_contents("http://gdata.youtube.com/feeds/api/videos/$de_youtube");



// Zähler und ID ausgeben
echo("$i / $ID_original --- ");



// Prüfen, ob Datei eingelesen werden konnte
if ($url == "")
{
echo("Datei: no --- ");
$fehler[] = $ID_original;
}
else
{
echo("Datei: ok --- ");
}



// Einbettung prüfen
if (!preg_match("<yt:noembed/>", "$url"))
{
echo("Einbettung: ok --- ");
}
else
{
echo("Einbettung: no --- ");
$keine_einbettung[] = $ID_original;
}


// Ausgabe API
echo("$url");



echo("</br></br>");



$i++;

}



// Ausgabe Fehler
echo("Fehler:</br>");
foreach($fehler AS $fehler_id)
{
echo ("ID: $fehler_id / ");
}
echo("</br></br></br>");


// Ausgabe Keine Einbettung
echo("Keine Einbettung:</br>");
foreach($keine_einbettung AS $keine_einbettung_id)
{
echo ("ID: $keine_einbettung_id / ");
}
(Dieser Beitrag wurde von mauijana am 26. Aug 2013, 13:43 geändert)
Top
 
X
Intermedia S
Beiträge: 1283
27. Aug 2013, 11:35
Beitrag #2 von 5
Beitrag ID: #516709
Bewertung:
(2091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

API - Mit PHP prüfen, ob das Youtube Video gelöscht wurde / oder prüfen, ob die Video Einbettung noch erlaubt ist


Moin,

also da bleibt auch meine Glaskugel absolut dunkel, keiner weiss was bei dir in der Variabel $de_youtube steht.

Du solltest das debuggen, dann findest du auch die Ursache.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft
als Antwort auf: [#516673] Top
 
mauijana
Beiträge: 46
27. Aug 2013, 14:32
Beitrag #3 von 5
Beitrag ID: #516726
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

API - Mit PHP prüfen, ob das Youtube Video gelöscht wurde / oder prüfen, ob die Video Einbettung noch erlaubt ist


In der Variabel $de_youtube steht der Video - Tag => Tey-bjDNMQM

Beispiel
http://www.youtube.com/watch?v=Tey-bjDNMQM

also
http://gdata.youtube.com/feeds/api/videos/Tey-bjDNMQM

Der Link funktioniert auch.
Nur Youtube gibt mir bei zum Beispiel zehn unterschiedlichen API Anfragen, nicht immer die xml Datei.

Zum Beispiel für 1 und 4 bekomme ich nicht die API.

Wenn ich den Code erneut ausführe,
dann zeigt er mir plötzlich für 1 und 4 ein richtiges Ergebnis an,
aber dafür kann 2 und 7 nicht eingelesen werden.

Ich verstehe nicht, warum die API nicht sauber eingelesen werden kann. Wenn ich sie einzeln teste, funktioniert alles sauber.

Aber nicht wenn ich 10 Anfragen mache.
als Antwort auf: [#516709] Top
 
Intermedia S
Beiträge: 1283
27. Aug 2013, 14:56
Beitrag #4 von 5
Beitrag ID: #516728
Bewertung:
(2065 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

API - Mit PHP prüfen, ob das Youtube Video gelöscht wurde / oder prüfen, ob die Video Einbettung noch erlaubt ist


Da du ein XML zurück bekommst würde ich auch mit einem XML Parser ran gehen. Alternativ DOM.

Scheint ein Zeitliches Problem zu sein. Schon mal mit fsockopen oder curl versucht? Dort kann ein Timeout konfiguriert werden.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft
als Antwort auf: [#516726] Top
 
IngoUllrich S
Beiträge: 47
27. Aug 2013, 16:39
Beitrag #5 von 5
Beitrag ID: #516730
Bewertung:
(2034 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

API - Mit PHP prüfen, ob das Youtube Video gelöscht wurde / oder prüfen, ob die Video Einbettung noch erlaubt ist


Hallo,

baue mal nach jedem API-Request einen kleinen Timeout (bspw. 200msec) ein. Die Youtube-API hat möglicherweise ein Problem mit schnell aufeinander folgenden Abrufen.

Jedenfalls konnten wir vor einiger Zeit ein ähnliches, nicht reproduzierbares Problem mit der Youtube-API damit in den Griff bekommen.

Viele Grüße
Ingo
ingo@ust-gmbh.de
-----------------------
Database-Publishing -> EasyCatalog
Tablet-Publishing -> Twixl publisher
als Antwort auf: [#516726] Top
 
X