【问题标题】:Getting embed code for specific vimeo video, vimeo API获取特定 vimeo 视频、vimeo API 的嵌入代码
【发布时间】:2012-09-03 12:47:18
【问题描述】:

好的,为 wordpress 开发基于 vimeo 的视频博客主题,而不是懒惰地要求人们将嵌入代码粘贴到每个视频更新中(通过自定义字段),我宁愿用户只提供视频 ID。 . 基本上我不能保证每个视频的高度/宽度都相同,所以我试图直接从 vimeo 获取嵌入代码(而不是让用户提供),而不是硬编码高度/宽度iframe(因为主题将是响应式的,我正在使用一个小的 jquery 脚本来动态调整视频的大小)

到目前为止,我已经尝试破坏 Vimeo 自己的 API 示例,我得到了这个:

function curl_get($url) {
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    $return = curl_exec($curl);
    curl_close($curl);
    return $return;
} 

// Create the URL
$oembed_vid_id = get_field('video_embed_code');
$oembed_url = 'http://vimeo.com/api/v2/video/' . $oembed_vid_id . '.xml';

// Load in the oEmbed XML
$oembed = simplexml_load_string(curl_get($oembed_url));
$embed_code = html_entity_decode($oembed->html);

<?php echo $embed_code ?>

但我没有得到任何回报,我是否忽略了一些非常基本的东西?

我可以确认 $oembed_url URL 确实存在,尝试任何 vimeo id,你会看到它的相关 xml,即这是我从 vimeo 中提取的视频:

http://vimeo.com/api/v2/video/48198301.xml

如果我能掌握这一点,那就太好了,因为我将能够下拉缩略图等,并利用 xml 文件中隐藏的所有其他可爱信息。

【问题讨论】:

    标签: php vimeo


    【解决方案1】:

    来自Vimeo's Sample Code,您似乎没有使用正确的 API。

    http://vimeo.com/api/v2/video/ 将返回视频信息字段,但没有 html 字段。要获取嵌入代码,请使用以下 URL:

    $oembed_url = 'http://vimeo.com/api/oembed.xml?url=' . urlencode("http://vimeo.com/$oembed_vid_id");
    

    【讨论】:

    • 由于某种原因,原来的 API 是我遇到的问题,通过谷歌搜索我将其替换为 v2 链接 - 但现在似乎一切正常,谢谢!可能是 urlencode 部分,因为我最初将它作为 $oembed_url = 'vimeo.com/etc..?url=http://vimeo.com' 。 $oembed_vid_id;不过效果很好,谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 2014-12-26
    • 1970-01-01
    相关资源
    最近更新 更多