PHP PHP вопрос Dailymotion вопрос - PullRequest
       30

PHP PHP вопрос Dailymotion вопрос

2 голосов
/ 10 сентября 2011

Следующий код работает для 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.Будем благодарны за любую помощь, связанную с исправлением разборов PHP Dailymotion.

Ответы [ 4 ]

5 голосов
/ 10 сентября 2011

Вы не можете просто изменить URL-адреса и ожидать, что это сработает.

Прочитайте документацию к API Dailymotion страниц, чтобы узнать, как получить доступ к видеоинформации программно.

Например, используя REST API, чтобы получить заголовок вашего видео в ответе в формате JSON, выберите:

https://api.dailymotion.com/video/xks75n?fields=title

, который возвращает

{
    "title": "The Farmer and His Sons- Aesop's fables"
}

Другой вариант -использовать oEmbed API в URL, который вы указали в вопросе.

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-объект или массив для доступа к значениям.

2 голосов
/ 22 апреля 2014

Если вы используете 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'...)));
2 голосов
/ 10 сентября 2011

Возможно, вам повезет больше с

'https://api.dailymotion.com/video/'. $id2 .'?fields=title'
0 голосов
/ 11 августа 2015

Dailymotion имеют отличную API документацию .

Попробуйте

https://api.dailymotion.com/video/'. $id2 .'?fields=title
...