ホームページ > バックエンド開発 > PHPチュートリアル > Vimeo'のAPIを介した好み、ウォッチリスト、アップロード

Vimeo'のAPIを介した好み、ウォッチリスト、アップロード

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-16 08:31:08
オリジナル
793 人が閲覧しました

この記事は、Silex、Twig、およびVimeo APIを使用した基本的なビデオアプリケーションを示す以前のチュートリアルで展開しています。 今回は、ビデオの好み、ウォッチリスト機能、ビデオのアップロードを追加します。

Liking, Watchlisting and Uploading through Vimeo's API

キーエンハンスメント:

    強化されたVimeo APIインタラクション:
  • Vimeo APIは、ビデオを好むようにサポートし、ウォッチリストに追加するようになりました。 これには、Vimeoアプリケーションの許可に「相互作用」スコープを追加する必要があります。 ビデオのアップロードも有効になっていますが、Vimeoからの事前承認とアクセストークンに「アップロード」スコープを追加する必要があります。 非同期操作(ajax):
  • ユーザーインタラクション(好み、ウォッチリスト)Ajaxリクエストがサーバーにリクエストをトリガーします。 「204」の応答は、データペイロードなしで操作が成功し、ユーザーに視覚的なフィードバック(ボタン無効化)を提供します。
  • ビデオのアップロードワークフロー:プロセスには、Vimeoアプリの作成、アクセストークンの取得、投稿を使用してアップロードチケットを作成し、ビデオファイルをアップロードし、最後に削除してアップロードを完成させることが含まれます。 🎜>
  • 前提条件:
以前のチュートリアル(オリジナルで提供されるリンクまたはダウンロード)に慣れてください。 開発環境(Homesteadの改善の推奨)が設定され、実行されていることを確認してください。

ビデオとの対話(好みとウォッチリスト):

Vimeo APIスコープの更新: vimeoログインを変更してスコープを含める:

  1. interact相互作用ボタンを追加:
  2. in
、ビデオの下に「いいね」ボタンを追加し、ウォッチリストボタンをビデオ説明:
$scopes = array('public', 'private', 'interact');
$state = substr(str_shuffle(md5(time())), 0, 10);
$_SESSION['state'] = $state;
$url = $vimeo->buildAuthorizationEndpoint(REDIRECT_URI, $scopes, $state);
$page_data = array('url' => $url);
ログイン後にコピー
ログイン後にコピー
  1. templates/videos.phpクライアント側のajaxハンドリング(videos.js):
  2. このjavascriptはボタンのクリックを処理し、ajaxリクエストを送信します:
<div>
    <button class="like" data-uri="{{ video.uri }}">Like</button>
    <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
</div>
ログイン後にコピー
ログイン後にコピー
  1. サーバー側のルートハンドリング(index.php):
  2. これらのルートを追加して、ajaxリクエストを処理します。 ビデオIDを抽出し、API呼び出し(PUTメソッド)を作成し、ステータスコードでJSON応答を返します。
$('.like').click(function(){
    let self = $(this);
    let uri = self.data('uri');
    $.post('/tester/vimeo-slim/video/like', {'uri': uri}, function(response){
        if(response.status == '204') self.prop('disabled', true);
    });
});

$('.watch-later').click(function(){
    let self = $(this);
    let uri = self.data('uri');
    $.post('/tester/vimeo-slim/video/watchlater', {'uri': uri}, function(response){
        if(response.status == '204') self.prop('disabled', true);
    });
});
ログイン後にコピー
  1. ビデオのアップロード:
$app->post('/video/like', function () use ($app, $vimeo) {
    if($app->request->post('uri')){
        $video_id = str_replace('/videos/', '', $app->request->post('uri'));
        $vimeo->setToken($_SESSION['user.access_token']);
        $response = $vimeo->request('/me/likes/' . $video_id, [], 'PUT');
        $app->contentType('application/json');
        echo json_encode(['status' => $response['status']]);
    }
});

$app->post('/video/watchlater', function () use ($app, $vimeo) {
    //Similar to /video/like, but uses '/me/watchlater/' endpoint
});
ログイン後にコピー
アクセスのアップロードをリクエスト:

開発者ダッシュボードを介してVimeoアプリのアップロード許可をリクエストします。 これには数営業日かかる場合があります。

  1. アップロードスコープを追加(承認した場合):
承認されたら、アクセストークンに

スコープを追加します。 Liking, Watchlisting and Uploading through Vimeo's API

    1. アップロードビュー(upload.php):templates/upload.php
    2. で簡単なアップロードフォームを作成します
    $scopes = array('public', 'private', 'interact');
    $state = substr(str_shuffle(md5(time())), 0, 10);
    $_SESSION['state'] = $state;
    $url = $vimeo->buildAuthorizationEndpoint(REDIRECT_URI, $scopes, $state);
    $page_data = array('url' => $url);
    ログイン後にコピー
    ログイン後にコピー
    1. アップロードルート(index.php):ファイルアップロードとvimeo API相互作用を処理:
    <div>
        <button class="like" data-uri="{{ video.uri }}">Like</button>
        <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
    </div>
    ログイン後にコピー
    ログイン後にコピー

    以上がVimeo&#x27;のAPIを介した好み、ウォッチリスト、アップロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート