2012-09-24 7 views
10

Es sieht so aus, als ob es keine offizielle YouTube-API gibt, um eine Liste von YouTube-Netzwerken zu finden oder welche Kanäle Teil eines bestimmten Netzwerks sind. Irgendwelche Ideen, wie man diese Informationen findet?Wie programmatisch herausfinden, welche Kanäle Teil eines bestimmten YouTube-Netzwerks sind?

Wenn es keine direkte Methode gibt, welcher Algorithmus verwendet socialblade.com ungefähre Auflistungen?

+0

Glück bei der Suche nach diesem? –

+0

Sie wollten nicht den Kanal bekommen, zu dem das Video gehört? Etwas wie das? http://stackoverflow.com/questions/12856445/get-xml-attribute-with-simplexml/12856747 – loQ

Antwort

3

Es sieht nicht so aus, als könnten Sie diese Informationen mit der v3-API zu diesem Zeitpunkt erhalten, aber ich glaube, dass socialblade ruft Netzwerke ist der Inhaltseigentümer oder "Partnername".

in einer API-Antwort enthält ein Feed-Eintrag ein Partner-Video, wenn der Eintrag, für den einen <media:credit> Tag enthält der Wert des yt: type-Attributs Partner ist. <media:credit role='uploader' scheme='urn:youtube' yt:display='partner_name' yt:type='partner'> partner_name </media:credit>

hier beschrieben: https://developers.google.com/youtube/2.0/reference#Video_Feeds

Es ist wahrscheinlich nur eine Frage Kanal zuweisen, die nur Videos von einem deutlichen Partner dieses Partners 'Netzwerk' enthalten. (Oder genauso wahrscheinlich alle Videos.)

Edit: Da das scheint nachweislich nicht genau zu sein, ich darauf hinweisen, werden feststellen, dass es die Analyse erscheint API hat, dass die Informationen, aber aus der Beschreibung klingt es wie es erlaubt nur Berichte auf Kanälen Ihr eigenes "Netzwerk". Davon abgesehen, hat SocialBlade ihre Informationen über andere Netzwerke von irgendwo zu bekommen:

Eigentümer von Inhalten, die in dem YouTube-Partnerprogramm teilnehmen können auch die API-Berichte abrufen, dass aggregierte Analytics-Daten für alle YouTube-Kanäle Diese sind mit ihrem Content Owner Account verknüpft.

+0

danke, und herzlichen Glückwunsch mit Kopfgeld. – oma

+0

hmm .. ich glaube nicht, dass es so funktioniert. Wenn du den Kanal "itsjerryandharry" vom "SocialBlade" -Netzwerk nimmst und seine Videos: "curl" https://gdata.youtube.com/feeds/api/videos?v=2&author=itsjerryandharry&prettyprint=true&uploader=partner "' jedes Video erhältst wird etwas wie dieses beinhalten: itsjerryandharry '.Es gibt keine Erwähnung von SocialBlade oder was auch immer. –

+0

Nun, SocialBlade ist eindeutig ein YouTube-Partner. Die andere Option besteht darin, dass sie die Berichte [Content Owner Reports] (https://developers.google.com/youtube/analytics/v1/available_reports#Reports) verwenden, die nicht für die allgemeine Öffentlichkeit zugänglich sind. Es scheint wahrscheinlich, dass sie die öffentliche API nerfen würden, wenn sie jemals diese Informationen enthalten würde. Es wäre gut, eine "glaubwürdige oder offizielle Quellen" Bestätigung dafür zu bekommen. –

10

Ich weiß nicht, ob dies der Weg ist, wie Websites wie Socialblade oder Channelmeter die vernetzten Kanäle bekommen. Aber so habe ich es gemacht.

sagen, dass ich dieses Video Link: http://www.youtube.com/watch?v=_8AZT40gH5E

In der Meta-Tags Informationen eines vernetzten Kanal gibt es ein Attribut <meta name=attribution content=JamieOliver/> (Zum Beispiel), die das Netzwerk tatsächlich angibt, der Kanal gehört. Also, was ich tat, war ein Video von dem Kanal mit arbeite ich, und verwenden Sie eine kleine Funktion wie folgt aus:

$tags = get_meta_tags("http://www.youtube.com/watch?v=_8AZT40gH5E"); 
echo $network = $tags['attribution']; 

Und Sie haben das Network der Kanal verknüpft ist.

+0

Das funktioniert super. Vielen Dank. – jel

+0

Kein Problem, froh, dass ich geholfen habe! – Zy0n

Verwandte Themen