Maison >développement back-end >tutoriel php >Aimer, la liste de surveillance et le téléchargement via l'API de Vimeo

Aimer, la liste de surveillance et le téléchargement via l'API de Vimeo

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-16 08:31:08723parcourir

Cet article développe un tutoriel précédent démontrant une application vidéo de base utilisant Silex, Twig et l'API Vimeo. Cette fois, nous ajouterons de la qualité vidéo, des fonctionnalités de la liste de surveillance et des téléchargements vidéo.

Liking, Watchlisting and Uploading through Vimeo's API

Améliorations de clés:

  • Interaction API Vimeo améliorée: L'API VIMEO prend désormais en charge les vidéos d'aimer et de les ajouter à une liste de surveillance. Cela nécessite d'ajouter la portée "Interact" aux autorisations de votre application Vimeo. Le téléchargement vidéo est également activé, mais nécessite l'approbation préalable de Vimeo et l'ajout de la portée "Télécharger" à vos jetons d'accès.
  • Opérations asynchrones (AJAX): Les interactions utilisateur (aime, WatchListing) déclenchent des demandes AJAX au serveur. Une réponse «204» signifie un fonctionnement réussi sans charge utile de données, fournissant des commentaires visuels (désactivation des bouton) à l'utilisateur.
  • Téléchargement de vidéos Téléchargement de travail: Le processus consiste à créer une application Vimeo, à obtenir un jeton d'accès, à utiliser la publication pour créer un billet de téléchargement, à télécharger le fichier vidéo et enfin de supprimer pour finaliser le téléchargement.

Prérequis:

Familiarisez-vous avec le tutoriel précédent (lien ou téléchargement fourni dans l'original). Assurez-vous que votre environnement de développement (Homestead amélioré recommandé) est configuré et en cours d'exécution.

Interagir avec les vidéos (aimer et regarder):

  1. MISE À JOUR VIMEO API SCOPES: Modifiez votre connexion Vimeo pour inclure la interact Scope:
<code class="language-php">$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);</code>
  1. Ajouter des boutons d'interaction: dans templates/videos.php, ajouter des boutons like et watchlist sous la vidéo Description:
<code class="language-html"><div>
    <button class="like" data-uri="{{ video.uri }}">Like</button>
    <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
</div></code>
  1. Traitement AJAX côté client (videos.js): Ce bouton JavaScript gère et envoie des demandes ajax:
<code class="language-javascript">$('.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);
    });
});</code>
  1. Gestion des routes côté serveur (index.php): Ajoutez ces itinéraires pour gérer les demandes AJAX. Ils extraient l'ID vidéo, passent l'appel de l'API (méthode de put) et renvoient une réponse JSON avec le code d'état.
<code class="language-php">$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
});</code>

Téléchargement des vidéos:

  1. Demande Access Téléchargez: Demandez les autorisations de téléchargement pour votre application Vimeo via le tableau de bord du développeur. Cela peut prendre plusieurs jours ouvrables.

Liking, Watchlisting and Uploading through Vimeo's API

  1. Ajouter la portée du téléchargement (si approuvé): Une fois approuvé, ajoutez la portée upload à vos jetons d'accès.

Liking, Watchlisting and Uploading through Vimeo's API

  1. Télécharger la vue (upload.php): Créez un formulaire de téléchargement simple dans templates/upload.php:
<code class="language-php">$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);</code>
  1. Téléchargement de téléchargement (index.php): Gire les téléchargements de fichiers et l'interaction API Vimeo:
<code class="language-html"><div>
    <button class="like" data-uri="{{ video.uri }}">Like</button>
    <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
</div></code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn