如何使用php for youtube使用oembed api

时间:2014-08-10 12:47:41

标签: php youtube-api oembed

我正在使用WordPress 3.8并看到 oembed API,在WP中我们可以简单地放置一个链接,它会自动将该视频嵌入到WP中。所以,我的问题是: 我如何使用 oembed 功能?在PHP中: 给我一些实际的例子,所以我可以在我的网站上轻松使用它

我在Google看过这个 使用上面链接中所述的代码:

<?php
    $manager = ProviderManager::getInstance();
    $obj=$manager->provide("http://www.youtube.com/watch?v=QsROH9YfOZk","object");
    $html=$obj->renderClass();
?>

我在本地使用了该代码。所以,

如果你告诉我,我很感激,

我可以在本地实现此API意味着测试??

提前致谢。

1 个答案:

答案 0 :(得分:2)

首先,您需要在特殊网址中传递YouTube视频的ID:

http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3D ID_VIDEO &format=xml

视频示例:https://www.youtube.com/watch?v=l-gQLqv9f4o

我们使用此网址:

http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3Dl-gQLqv9f4o&format=xml

输出是生成的XML文件:

<oembed>
    <html>
        <iframe width="480" height="270" src="http://www.youtube.com/embed/l-gQLqv9f4o?feature=oembed" frameborder="0" allowfullscreen></iframe>
    </html>
    <author_name>SoulPancake</author_name>
    <height>270</height>
    <width>480</width>
    <thumbnail_url>http://i.ytimg.com/vi/l-gQLqv9f4o/hqdefault.jpg</thumbnail_url>
    <author_url>http://www.youtube.com/user/soulpancake</author_url>
    <provider_name>YouTube</provider_name>
    <type>video</type>
    <thumbnail_width>480</thumbnail_width>
    <provider_url>http://www.youtube.com/</provider_url>
    <thumbnail_height>360</thumbnail_height>
    <version>1.0</version>
    <title>A Pep Talk from Kid President to You</title>
</oembed>

因此,您需要做的就是在PHP的函数simplexml_load_file中传递此XML文件。基本上,您需要读取XML文件才能获取视频的iframe。

<?php

    $xml = simplexml_load_file("http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3Dl-gQLqv9f4o&format=xml");

    echo $xml->title . "<br />"; 
    echo $xml->html;
    echo $xml->author_name;

?>

您将拥有视频标题,iframe代码和视频作者。