2

Dailymotion API を使用して、自分の非公開動画の情報を取得したいと考えています。SO ... 私は 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だけでそれを行う方法がわかりません

助けてくれてどうもありがとう

4

1 に答える 1

0

コードと認証方法にいくつかの問題があるようです。

1) コード: 呼び出し$api = new Dailymotion(); てから、API キーとシークレットを使用して承認付与タイプを設定します。しかし、次の行では、 を書き直してすべてをオーバーライドします$api = new Dailymotion();。したがって、この行を削除することをお勧めします。削除しないと、付与タイプが設定されていないようになります。

2) https://developer.dailymotion.com/tools/sdks#sdk-php-grant-authorizationで、php の承認付与タイプに関する興味深いコード サンプルがあり、まさにあなたがしようとしていることを実行しています 。よく似ていますがreturn header('Location: ' . $api->getAuthorizationUrl()); 、キャッチ時にその部分にコメントしたのはなぜDailymotionAuthRequiredExceptionですか? この部分は、ユーザーを認証ページにリダイレクトして、認証できるようにします。パスワード許可タイプなど、認証用の他の許可タイプも確認することをお勧めします ( https://developer.dailymotion.com/tools/sdks#sdk-php-grant-password )

于 2015-06-08T15:00:11.870 に答える