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

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-02-16 08:31:08
original
793 Les gens l'ont consulté

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:
$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);
Copier après la connexion
Copier après la connexion
  1. Ajouter des boutons d'interaction: dans templates/videos.php, ajouter des boutons like et watchlist sous la vidéo Description:
<div>
    <button class="like" data-uri="{{ video.uri }}">Like</button>
    <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
</div>
Copier après la connexion
Copier après la connexion
  1. Traitement AJAX côté client (videos.js): Ce bouton JavaScript gère et envoie des demandes ajax:
$('.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);
    });
});
Copier après la connexion
  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.
$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
});
Copier après la connexion

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:
$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);
Copier après la connexion
Copier après la connexion
  1. Téléchargement de téléchargement (index.php): Gire les téléchargements de fichiers et l'interaction API Vimeo:
<div>
    <button class="like" data-uri="{{ video.uri }}">Like</button>
    <button class="watch-later" data-uri="{{ video.uri }}">Watch Later</button>
</div>
Copier après la connexion
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal