IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

API youtube upload video


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut API youtube upload video
    Bonjour à toutes et tous,

    je suis en stage et je dois envoyer des vidéos qui sont sur un serveur vers youtube.

    Je dois donc faire un script qui permet cela.

    Pour l'authentification tout à l'air de marcher mais j'ai une erreur qui apparait au moment ou j'appuie sur envoyer et ce message s'affiche :

    HTTP method GET is not supported by this URL Error 405


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
     
       require_once( 'Zend/Gdata/YouTube.php' );
       require_once( 'Zend/Gdata/ClientLogin.php' );
     
       /* _____________________________________________________________________________________________________ */
     
       $auth = 'https://www.google.com/youtube/accounts/ClientLogin' ;
       $dev_key = 'ma cle de developpeur' ; // Clé développeur changer pour l'exemple sinon la mienne est correct
       $app_id = 'ytapi-' ; // Identifiant de l'application
       $client_id = 'ytapi-' ; // Identifiant du client
       $user = 'user' ;   // Utilisateur changer pour l'exemple sinon le mien est correct
       $passwd = 'password' ; // Password changer pour l'exemple sinon le mien est correct
     
       $httpClient = Zend_Gdata_ClientLogin::getHttpClient(
           $user,$passwd,'youtube',null,'MonSiteWeb',null,null,$auth
       );
       $youtube = new Zend_Gdata_YouTube( $httpClient, $app_id, $client_id ,$dev_key );
     
       /* _____________________________________________________________________________________________________ */
     
       $video = new Zend_Gdata_YouTube_VideoEntry() ;
     
       /* Infos sur la vidéo */
       $video->setVideoTitle( 'Titre de ma video' );
       $video->setVideoDescription( 'Description de ma video' );
       $video->setVideoCategory( 'Sports' ); 
       $video->SetVideoTags( 'motclé1, motclé2' );
       $video->SetVideoDeveloperTags(array( 'mydevtag', 'anotherdevtag' ) );
     
       /* _____________________________________________________________________________________________________ */
     
       $tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
     
       $tokenArray = $youtube->getFormUploadToken($video, $tokenHandlerUrl);
     
       $tokenValue = $tokenArray['token'];
       $postUrl = $tokenArray['url'];
     
       /* _____________________________________________________________________________________________________ */
     
       $nextUrl = 'localhost';
     
       ?>
     
       <form
          action="<?php htmlspecialchars( $postUrl, ENT_QUOTES ).'?nexturl='. urlencode( $nextUrl ) ?>"
          method="post"
          enctype="multipart/formdata"
       >
     
          Fichier vidéo : <input name="file" type="file" />
                          <input name="token" type="hidden" value="<?php $tokenValue ?>"/>
                          <input type="submit" value="Envoyer la vidéo"/>
     
       </form>
    Si vous avez une quelconque idée, elle sera la bienvenue.

    Merci à vous.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut
    J'ai réussi a m'en sortir et le script marche

    Il envoie notre vidéo sur ma chaine vidéo sur youtube depuis mon serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php
     
       /* ********************************************************************************
        *                         Les inclusions de script
        * ********************************************************************************/
     
        require_once 'Zend/Gdata/YouTube.php';
        require_once 'Zend/Gdata/ClientLogin.php';
     
       /* ********************************************************************************
        *                         ETAPE 1 => Authentification
        * ********************************************************************************/
     
        $urlAuthentification = 'https://www.google.com/youtube/accounts/ClientLogin';   // Url pour s'identifier
        $cleDeveloppement = 'ma clé de developpement';   // Notre clé de développeur
        $idApplication = 'identificateur de l'appli';   // L'identificateur de l'application
        $idClient = null;   // L'identificateur du client => Déprécié
        $email = 'adresse mail du compte';   // Le nom d'utilisateur du compte
        $password = 'mon mot de passe';   // Le mot de passe du compte
     
        // Identification via la méthode getHttpClient
        $httpClient = Zend_Gdata_ClientLogin::getHttpClient(
           $email, $password, 'youtube', null, 'MonSiteWeb', null, null, $urlAuthentification
        );
     
        $youtube = new Zend_Gdata_YouTube( $httpClient, $idApplication, $idClient ,$cleDeveloppement );
     
       /* ********************************************************************************
        *                         ETAPE 2 => Envoie des d'Informations sur la vidéo
        * ********************************************************************************/
     
        $video = new Zend_Gdata_YouTube_VideoEntry() ;
     
        /* Infos sur la vidéo */
        $video->setVideoTitle( 'Titre de ma video' );
        $video->setVideoDescription( 'Description de ma video' );
        $video->setVideoCategory( 'Sports' );
        $video->SetVideoTags( 'motclé1, motclé2' );
        $video->SetVideoDeveloperTags(array( 'mydevtag', 'anotherdevtag' ) );
     
       /* ********************************************************************************
        *                         ETAPE 3 => Récupération du Token unique
        * ********************************************************************************/
     
        $tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
        try{
           $tokenArray = $youtube->getFormUploadToken($video, $tokenHandlerUrl);
        }
        catch( Zend_Gdata_HttpException $e ){
          print "Error ZendGdataException";
        }
        $tokenValue = $tokenArray['token'];
        $postUrl = $tokenArray['url'];
     
        /* ********************************************************************************
        *                         ETAPE 4 => Envoie de la vidéo
        * ********************************************************************************/
     
        // Fait en html
     
        $nextUrl = 'http://localhost/Upload_Youtube/';
     
       /* ********************************************************************************
        *                         ETAPE 5 => Traitement des erreurs
        * ********************************************************************************/
     
     
    ?>
     
    <!-- Formulaire d'envoie de la vidéo -->
     
    <form
       action="<?php print htmlspecialchars( $postUrl, ENT_QUOTES ).'?nexturl='. urlencode( $nextUrl ) ?>"
       method="post"
       enctype="multipart/formdata"
    >
     
       Fichier vidéo : <input name="file" type="file" />
                       <input name="token" type="hidden" value="<?php print $tokenValue ?>"/>
                       <input type="submit" value="Envoyer la vidéo"/>
     
    </form>
    Merci à vous. J'espère que ça profitera à certains.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Par défaut MAJ
    Merci pour ta correction, ca sert !!

    Mais par contre, j'ai essayé tes changements (en partant de la même base) mais je ne suis pas arrivé à faire marcher.

    Quelqu'un pourrait il m'éclairer svp ?

    Merci !

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Par défaut
    Crée un nouveau sujet, et décris ton probleme car "ça marche pas" ne permet pas de t'orienter...

  5. #5
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 22

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/05/2015, 01h00
  2. Réponses: 8
    Dernier message: 01/03/2013, 15h06
  3. Réponses: 1
    Dernier message: 15/12/2011, 16h39
  4. [Web Service] API youtube : authentification et feed video
    Par briegel dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/03/2010, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo