DailyMotion Cloud API 如何获取具有引用严格安全性的 URL


DailyMotion Cloud API how to get an URL with referer strict security?

我被困在DailyMotionCloud API我需要对具有安全级别的 URL 进行签名

  1. 仅允许地理封锁:法国
  2. 仅允许引用严格:1 个域 (oxygenstream.fr)

我的代码有效,但我不知道在对我的 URL 进行签名时将安全级别放在哪里我应该把它放在这里的组件[-<pub-sec-data>]:https://www.dmcloud.net/doc/api/api-streaming.html#signing-a-url

我应该如何存储 de referer 严格的 URL 和国家 在[-<pub-sec-data>]

以下是CloudKey的代码.php:https://github.com/dailymotion/cloudkey-php/blob/master/CloudKey.php

这是我的代码:

<iframe src="<?php 
require_once 'CloudKey.php';
$user_id = 'aaaaaaaaaaaaaaaaaaaaaa'; 
$api_key = 'bbbbbbbbbbbbbbbbbbbbbb'; 
$media_id = '5466232b947399290102cdb6';
$preset_id = '54662c7c06361d307810e3b5'; // player preset 
$preset_name = 'OxygenStream'; // preset name
$seclevel = 32800 ; // I need 2 security levels (country & referer strict)
//          32800 = 1 << 5 . 1 << 15 or CLOUDKEY_SECLEVEL_COUNTRY . CLOUDKEY_SECLEVEL_REFERER_STRICT
$countries = 'cc=fr'; // I'm supposed to put it in the [-<pub-sec-data>] 
$referers = 'rf=http://www.oxygenstream.fr/vod/dmcloud';; // I'm supposed to put it in the [-<pub-sec-data>]
// We create the url 
$url = sprintf('https://api.dmcloud.net/player/embed/%s/%s/';, $user_id, $media_id);
// We sign the url 
$url = CloudKey_Helpers::sign_url($url, $api_key, $seclevel, null, null, null, $countries, $referers, null);
// We write the URL in the Iframe 
print($url . '&autoplay=1&preset=54662c7c06361d307810e3b5');?>" width="640" height="360" frameborder="0" allowfullscreen></iframe>

提前感谢您帮助我解决这个问题。
希望您知道如何修复我的代码。

祝你有美好的一天,

安东尼

由于您使用的是CloudKey PHP SDK,因此您实际上不必自己构建URL。

使用 SDK 时,这对我有用:

$user_id = 'aaaaaaaaaaaaaaaaaaaaaa'; 
$api_key = 'bbbbbbbbbbbbbbbbbbbbbb'; 
$media_id = '5466232b947399290102cdb6';
$preset_id = '54662c7c06361d307810e3b5';
$preset_name = 'OxygenStream';
$seclevel = CLOUDKEY_SECLEVEL_COUNTRY | CLOUDKEY_SECLEVEL_REFERER_STRICT ;
$countries = array('fr');
$referers = array('http://oxygenstream.fr/vod/dmcloud');
$cloudkey = new CloudKey($user_id, $api_key);
$url = $cloudkey->media->get_embed_url(array('id' => $media_id, 'seclevel' => $seclevel, 'expires' => time() + 3600, 'countries' => $countries, 'referers' => $referers));