如何使用dailymotion api获取私有视频的iframe代码

时间:2015-02-26 16:11:02

标签: php api iframe video dailymotion-api

我想使用dailymotion api来获取我自己的私人视频的信息。 那...... 我有一个Dailymotion帐户 我创建了一个API密钥和密钥 我下载了PHP类 我想获得我的私人视频的信息,以便在我的网站上显示...

所以我认为我需要验证我的帐户并在获得代码后... 但它不起作用''( 请问你能给我一个示例代码吗?

我的测试代码就像现在一样

<?php 
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);

$apiKey = 'xxxx';
$apiSecret = 'xxxx';
require_once 'Dailymotion.php';
// Instanciate the PHP SDK.
$api = new Dailymotion();

// Tell the SDK what kind of authentication you'd like to use.
// Because the SDK works with lazy authentication, no request is performed at this point.
$api->setGrantType(Dailymotion::GRANT_TYPE_AUTHORIZATION, $apiKey, $apiSecret);

$api = new Dailymotion();
try
{
$result = $api->get(
'/video/privateVideoId',
array('fields' => array('id', 'title', 'owner'))
);

}
catch (DailymotionAuthRequiredException $e)
{
echo $e->getMessage();
// If the SDK doesn't have any access token stored in memory, it tries to
// redirect the user to the Dailymotion authorization page for authentication.
//return header('Location: ' . $api->getAuthorizationUrl());
}
catch (DailymotionAuthRefusedException $e)
{
echo $e->getMessage();
// Handle the situation when the user refused to authorize and came back here.
// <YOUR CODE>
}

trace($result);

function trace($d) {
echo '<pre>';
var_dump($d);
echo '</pre>';
}
?>

结果是: 此用户不允许访问此视频。

所以我认为身份验证存在问题...但我不明白如何只使用php

非常感谢你的帮助

1 个答案:

答案 0 :(得分:0)

您的代码和身份验证方式似乎有几个问题:

1)您的代码:您调用$api = new Dailymotion();,然后使用您的api密钥和密码设置授权授权类型。但是下一行,你通过重写$api = new Dailymotion();来覆盖所有这些。所以我建议你删除这一行,否则就像你没有设置任何授权类型!

2)有一个关于php中授权授权类型的有趣代码示例,正是您正在尝试做的事情,https://developer.dailymotion.com/tools/sdks#sdk-php-grant-authorization  您的代码非常相似,为什么在捕获return header('Location: ' . $api->getAuthorizationUrl());时对DailymotionAuthRequiredException部分发表评论?此部分将用户重定向到auth页面,以便他/她可以进行身份​​验证。 我还建议您查看其他授权类型以进行身份​​验证,例如密码授予类型(https://developer.dailymotion.com/tools/sdks#sdk-php-grant-password