如何使用DailyMotion API上传、修改和查看视频文件

868 阅读4分钟

使用DailyMotion API上传、修改和查看视频文件

本文探讨了如何通过三个组件的API,你可以访问Dailymotion的大部分(如果不是全部)方面。

Dailymotion是一个法国的视频共享平台,由Vivendi拥有。在美国,它得到了Vice Media、Bloomberg和Hearst Digital Media等合作伙伴的支持。它有183种语言和43个本地化版本。它目前估计有3亿用户,这很可观,但远远低于其较大的竞争对手YouTube。

Dailymotion API是一套开发者工具,你可以用它来管理Dailymotion内容并与之互动。通过三部分组成的API,你可以访问Dailymotion的大部分(如果不是全部)方面。公共数据可以自由使用,而私人数据则根据您的认证状态和权限所授予的权限受到限制。

  • 数据API。这个API使您能够访问、修改和发布数据。它使您能够处理各种Dailymotion对象,包括视频、播放列表和用户。

  • 播放器API。该API使您能够控制一个可以在网站或应用程序中显示或嵌入的播放器。嵌入与大多数移动设备以及兼容HTML-5的智能设备兼容。

  • 报告API。这个API使你能够建立可定制的报告,包括汇总的性能测量。它包括一个灵活的界面,支持多种数据格式。该API仅对经过验证的Dailymotion合作伙伴开放。

您能用Dailymotion的API做什么?

虽然您可以通过API执行许多操作,但以下是一些最常见和最有用的功能。

在网站上嵌入视频

您可以通过<iframe> 元素将Dailymotion视频与他们的本地播放器嵌入。要做到这一点,您可以使用以下方法之一。

  • 通过数据API的视频对象的embed_html 字段

  • 从Dailymotion的视频页面的导出标签中手动复制代码

  • 通过使用oEmbed 协议

无论你选择哪种方法,嵌入的代码应该大致如下。

<iframe frameborder="0" width="480"

height="270"src="https://www.Dailymotion.com/embed/video/VIDEO_ID?PARAMS"allowfullscreen allow="autoplay"></iframe>

定制一个视频播放器

一旦播放器被包含在你的网站或应用程序中,你可以自定义设置以匹配你的整体主题和需求。这包括播放器的颜色、行为、控制和标志。设置这种定制的一种方式是使用params,即查询字符串参数。你可以在这里了解更多关于这些参数的信息。

要修改一个播放器,你可以通过DM.player() 方法定义你的params属性。这个方法包含在JavaScript SDK中。下面你可以看到一个自定义播放器的例子。

<script src="https://api.dmcdn.net/all.js"></script>

<div id="player"></div>

<script>var player = DM.player(document.getElementById("player"), {video: "VIDEO_ID", width: "100%", height: "100%", params: {autoplay: true, mute: true}});</script>

为视频添加字幕

Dailymotion的API包括一些方法,使您能够添加或修改与您的视频相关的字幕。这是用包含字幕或闭合字幕信息的字幕对象来完成的。

要创建一个新的字幕对象,您可以通过视频图表对象的POST 请求来完成。下面你可以看到一个上传字幕文件的请求实例。

curl -X POST -H "Authorization: Bearer ${ACCESS_TOKEN}" \  

     -d 'language=en' \ 

     -d 'url=https://your_site.com/subtitle_file.srt' \   

     -d 'format=SRT' \      

     https://api.dailymotion.com/video/<VIDEO_ID>/subtitles

用密码保护视频

如果你有私人视频或想限制特定用户访问视频,你可以添加密码保护。你可以通过定义一个访问令牌和设置一个密码来做到这一点。一旦添加了密码,视频的可见性将变为 "密码保护"。

你可以看到下面这个代码的一个例子。

curl -X POST -H "Authorization: Bearer ${ACCESS_TOKEN}" \ 

     -d 'password=MyPassword' \ 

     https://api.dailymotion.com/video/myvideo

如何使用Dailymotion API上传和发布视频

Dailymotion API最基本也是最重要的功能是上传和发布视频的能力。下面你可以看到一个简短的演练,解释所需的步骤,包括示例代码。这是从Dailymotion的文档中总结出来的,你可以在这里看到。

1. 认证用户

在你开始上传之前,你需要认证用户,以确保API访问的安全性。确定你想把视频托管在哪个账户上。在这个账户中,你就需要认证你的用户并请求manage_videos 范围。

2. 获取一个上传URL

接下来,你可以发出一个GET请求,包括你的访问令牌,到api.dailymotion.com/file/upload… 和一个progress_url

curl -H "Authorization: Bearer ${ACCESS_TOKEN}" \

     "https://api.dailymotion.com/file/upload"

在执行这一步骤时,你还可以选择让最终用户发布视频。要做到这一点,你需要配置一个callback_url 参数,在上传完成后调用你的服务。

3. 上传视频

有了你的上传URL,你现在可以通过一个POST 请求上传你选择的视频。你应该用multipart/form-data内容类型来做,以确保视频被成功上传。

curl -X POST \ 

     -F 'file=@/path/to/your/video.mp4' \ 

     '<UPLOAD_URL>'

请求发出后,你应该收到一个JSON对象或带有额外查询字符串参数的回调URL。无论哪种情况,都要注意到URL字段。

下面是如何使用PHP API上传文件

$url = $api->uploadFile('/path/to/your/video.mp4');

$api->post(
    '/videos',
    array(
        'url'       => $url,
        'title'     => 'Dailymotion PHP SDK upload test',
        'tags'      => 'dailymotion,api,sdk,test',
        'channel'   => 'videogames',
        'published' => true,
        'is_created_for_kids'   => false,
    )
);

4. 创建视频

POST 使用注意到的URL字段,你现在需要再向https://api.dailymotion.com/me/videos 。这个调用创建了视频,并应在response.id字段中为你的新视频返回一个ID号码。

curl -X POST -H "Authorization: Bearer ${ACCESS_TOKEN}" \

           "https://api.dailymotion.com/me/videos"

5. 发布视频

假设你已经准备好发布视频,你需要再执行一个POST 请求到https://api.dailymotion.com/video/<VIDEO_ID> 。在这个请求中,你应该包括任何你想在发布前修改的字段。你还必须包括频道、标题和标签字段,以及一个设置为 "true "的发布字段。

curl -X POST -H "Authorization: Bearer ${ACCESS_TOKEN}" \

     -d 'published=true' \

     -d 'title=<TITLE>' \

     -d 'channel=<CHANNEL>' \

     -d 'tags=<TAGS>' \

     https://api.dailymotion.com/video/<VIDEO_ID>