0

我刚上传视频后,我正在尝试使用 API 检索“thumbnail_url”。但是,我检索到的“thumbnail_url”始终是这个 URL “Hhttp://s2.dmcdn.net/KtV-L.jpg”或“Hhttp://s2.dmcdn.net/KtV-L/x240-gK0.jpg” (当我使用 oEmbed API 时)。

另一方面,当我像以下 URL 一样手动将 URL 放入浏览器的地址栏中时,我可以获得我想要的“thumbnail_url”。Hhttps://api.dailymotion.com/video/VIDEOID?fields=thumbnail_url

我的问题是;上传视频后是否存在时间延迟或 Dailymotion API 是否需要更多时间来生成缩略图?或者,检索我编码的缩略图网址的方法是否错误?

这是获取缩略图图像 url 的代码。*作为先决条件,我已经获得了访问令牌,创建了一个视频并发布了。

///////////////   Publish a video   ///////////////

    $publishVideoAPI = "https://api.dailymotion.com/video/".$responseID;
    // Post data
    $dataPublish = array(
    "title" => $videotitle,
    "published" => true,
    "channel" => "shortfilms",
    "tags" => $tags,
    "access_token" => $accesstoken
    );
    $conn = curl_init();
    // Post method
    curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($conn, CURLOPT_URL, $publishVideoAPI);
    curl_setopt($conn, CURLOPT_POST, true);
    curl_setopt($conn, CURLOPT_POSTFIELDS, $dataPublish);

    // execute
    $resPublish = curl_exec($conn);
echo "publish video<br />";
    var_dump($resPublish);
    // close
    curl_close($conn);


///////////////   Grab a thumbnail image of the video start   ///////////////

    // API
    $thumbnail = "https://api.dailymotion.com/video/".$responseID."?fields=thumbnail_url";

    // initialise session
    $conn = curl_init();

    // Get method
    curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($conn, CURLOPT_HEADER, false);
    curl_setopt($conn, CURLOPT_URL, $thumbnail);

    // execute
    $res2 = curl_exec($conn);
echo "thumbnail url<br />";
    //var_dump($res2);
echo "<br /><br />";
    // close
    curl_close($conn);

$thumbnailData = json_decode( $res2 , true );
$thumbnailURL = $thumbnailData["thumbnail_url"];
echo $thumbnailURL;
4

2 回答 2

0

我已经准备好执行此代码获取方法此 url: https : //api.dailymotion.com/video/'+videoID+'?fields=id,thumbnail_url,thumbnail_120_url

比找到回应:

{"id":"x2qwonn","thumbnail_url":"http://s2.dmcdn.net/Kra86.jpg","thumbnail_120_url":"http://s2.dmcdn.net/Kra86/x120-aNB. jpg"}

响应 = {"id":"x2qwonn","thumbnail_url":"http://s2.dmcdn.net/Kra86.jpg","thumbnail_120_url":"http://s2.dmcdn.net/Kra86/x120-一个NB.jpg"}

thumbnail = response['thumbnail_120_url'].replace("\","")

得到结果

http://s2.dmcdn.net/Kra86/x120-aNB.jpg

于 2015-05-29T12:16:42.227 回答
0

谢谢您的答复。我想通了,现在正确上传了缩略图。正如您测试的那样,这段代码是正确的。我上传的图像始终是 Dailymotion 提供的相同图像的原因是视频状态为“处理中”。所以我把循环以 10 秒的间隔检查状态,只有当状态变为“已发布”时,才尝试抓取缩略图。

于 2015-06-07T23:16:17.763 回答