2010-06-20 7 views

Répondre

4

L'une des façons d'y parvenir est d'utiliser l'API Youtube Data (http://code.google.com/apis/youtube/2.0/developers_guide_protocol_video_entries.html).

Vous envoyez l'identifiant vidéo, qui se trouve dans le lien vers une vidéo, à l'API, et il renvoie toutes les données dont vous avez besoin dans un format xml/JSON, en fonction de ce que vous spécifiez dans l'URL.

Exemple:

Si vous avez reçu le lien vidéo http://www.youtube.com/watch?v=NWHfY_lvKIQ, vous pouvez obtenir toutes les informations sur la vidéo en utilisant ce lien, http://gdata.youtube.com/feeds/api/videos/NWHfY_lvKIQ. Les données renvoyées contiennent toutes les informations sur la vidéo, y compris le titre, la description et une vignette.

5

La reconnaissance sur Facebook fonctionne pour la plupart des liens, et pas seulement parmi les meilleurs comme YouTube. Donc, je suppose qu'ils essaient de savoir si la page contient un lien vers une autre représentation, comme un flux. Quand ils trouvent ce lien, ils font un appel pour obtenir le contenu du flux. formats de flux sont principalement standardisé RSS ou Atom, et ont des propriétés clairement identifiables telles que title, thumbnail, description, etc.

permet donc dire que vous aviez un lien vidéo YouTube tels que http://www.youtube.com/watch?v=0Mz4NTozNXw. Dans sa source, il contient les liens suivants avec des représentations alternatives qui peuvent fournir les métadonnées requises:

<link rel="alternate" type="application/json+oembed" href="http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3D0Mz4NTozNXw&format=json" title="Crispy Onion Rings Recipe - How to Make Crispy Onion Rings" /> 
<link rel="alternate" type="text/xml+oembed" href="http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3D0Mz4NTozNXw&format=xml" title="Crispy Onion Rings Recipe - How to Make Crispy Onion Rings" /> 

Si nous devions récupérer le contenu du lien avec type="text/xml+oembed", nous obtenons le dos XML suivant:

<oembed> 
    <provider_url>http://www.youtube.com/</provider_url> 
    <title>Crispy Onion Rings Recipe - How to Make Crispy Onion Rings</title> 
    <html>&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0Mz4NTozNXw&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0Mz4NTozNXw&amp;fs=1" type="application/x-shockwave-flash" width="480" height="295" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;</html> 
    <author_name>foodwishes</author_name> 
    <height>295</height> 
    <thumbnail_width>480</thumbnail_width> 
    <width>480</width> 
    <version>1.0</version> 
    <author_url>http://www.youtube.com/user/foodwishes</author_url> 
    <provider_name>YouTube</provider_name> 
    <thumbnail_url>http://i1.ytimg.com/vi/0Mz4NTozNXw/hqdefault.jpg</thumbnail_url> 
    <type>video</type> 
    <thumbnail_height>360</thumbnail_height> 
</oembed> 

À partir de là, vous pouvez obtenir le titre et l'information de l'URL miniature qui peut ensuite être affichée à l'utilisateur final. C'est une approche assez générique pour pouvoir gérer la plupart des liens en ligne. Maintenir un catalogue de types de liens que vous soutenez, comme:

application/atom+xml 
application/rss+xml 
application/json+oembed 
application/json+oembed 
... 

et vérifier si des liens sur la page correspondent aux types que vous soutenez. Si c'est le cas, suivez ce lien et obtenez les informations requises. La connaissance de l'attribut type vous donne des informations sur le format à prévoir pour l'analyse préalable.

+1

Je vous remercie de votre réponse, je suis désolé d'avoir déjà accepté l'autre réponse. Mais je suis sûr que d'autres trouveront votre réponse utile aussi – Karem

+0

@Karem - pas de soucis, en fait trouver cette information sur m'a également aidé pour un projet à venir :) – Anurag

+0

Facebook oblige les sites à inclure og métatags qui sont reconnus par FB. –

Questions connexes