以下代码适用于Vimeo API:
function getTitle($id){
$title = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$id.php"));
$theTitle=$title[0]['title'];
echo $theTitle;
}
如果我使用Dailymotion:
$id2 = 'xks75n';
function dailyMotionTitle($id2){
$dm = unserialize(file_get_contents("http://www.dailymotion.com/embed/video/".$id2));
echo $dm[0]['title'];
}
我在偏移0处得到1374字节的错误。我知道我可以使用embed.ly或JSON解析但我更喜欢PHP。任何有关修复Dailymotion PHP解析的帮助都表示赞赏。
答案 0 :(得分:5)
您不仅可以更改网址,还希望此功能正常运行。
通读Dailymotion APIs documentation页面,了解如何以编程方式访问视频信息。
作为一个示例,使用REST API,以JSON格式的响应获取视频的标题,获取:
https://api.dailymotion.com/video/xks75n?fields=title
返回
{
"title": "The Farmer and His Sons- Aesop's fables"
}
另一种选择是在问题中使用的网址上使用oEmbed API。
http://www.dailymotion.com/services/oembed?format=json&url=http://www.dailymotion.com/embed/video/xks75n
返回
{
"type": "video",
"version": "1.0",
"provider_name": "Dailymotion",
"provider_url": "http:\/\/www.dailymotion.com",
"title": "The Farmer and His Sons- Aesop's fables",
"author_name": "hooplakidz",
"author_url": "http:\/\/www.dailymotion.com\/hooplakidz",
"width": 480,
"height": 269,
"html": "<iframe src=\"http:\/\/www.dailymotion.com\/embed\/video\/xks75n\" width=\"480\" height=\"269\" frameborder=\"0\"></iframe>",
"thumbnail_url": "http:\/\/static2.dmcdn.net\/static\/video\/369\/709\/34907963:jpeg_preview_large.jpg?20110830044159",
"thumbnail_width": 426.666669846,
"thumbnail_height": 240
}
提示:您可以使用json_decode()
将其“解码”到PHP对象或数组中以访问值。
答案 1 :(得分:2)
你可能会有更好的运气
'https://api.dailymotion.com/video/'. $id2 .'?fields=title'
答案 2 :(得分:2)
如果你使用php,简单的方法是使用Dailymotion PHP SDK: https://github.com/dailymotion/dailymotion-sdk-php
<?php
$api = new Dailymotion();
$result = $api->get('/video/' . $id, array('fields' => array('title', 'channel'...)));
答案 3 :(得分:0)