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 :

Erreur généré par Gdata de Zend en utilisation avec l'API youtube


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
    Ingé dev
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingé dev
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut Erreur généré par Gdata de Zend en utilisation avec l'API youtube
    Bonjour,
    Je viens poster ici un message de détresse, cela fait deux jours que je m’arrache les cheveux à essayer de trouver l'erreur.
    Je m'explique, j'ai suivi le tuto pour permettre à l'utilisateur de pouvoir uploader une vidéo sur mon site pour que cette dernière se mette sur ma chaîne youtube.
    Le problème est que la vidéo se met bien sur ma chaîne mais apres le téléchargement de la vidéo j'ai un message d'erreur de Gdata:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message ' in C:\wamp\www\Projetyoutube\Zend\Gdata\App.php on line 714
    Ainsi que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Zend_Gdata_App_HttpException: Expected response code 200, got 400 Invalid value for parameter: username in C:\wamp\www\Projetyoutube\Zend\Gdata\App.php on line 714
    Je ne comprend pas...

    Code permettant l'upload de la vidéo:
    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
     
     
    <?php
     
    require_once 'Zend/Gdata/YouTube.php';
    require_once 'Zend/Gdata/ClientLogin.php';
     
    // configuration et identifiants
    $authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin';
    $developerKey = 'ma clé'; 
    $applicationId = 'applicationId'; 
    $clientId = 'idclient';
    $username = "jonathanaffre@gmail.com";
    $password = "motdepassei";
     
     
    $httpClient = Zend_Gdata_ClientLogin::getHttpClient(
        $username,$password,'youtube',null,'MonSiteWeb',null,null,$authenticationURL
    );
     
    $yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);
     
     
     
    $myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
     
     
    $myVideoEntry->setVideoTitle('Titre');
    $myVideoEntry->setVideoDescription('Description de ma video');
    $myVideoEntry->setVideoCategory('Sports'); 
     
     
     
     
    // Récupération du jeton
    $tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
    $tokenArray = $yt->getFormUploadToken($myVideoEntry, $tokenHandlerUrl);
    $tokenValue = $tokenArray['token'];
    $postUrl = $tokenArray['url'];
     
     
    $nextUrl = 'http://localhost/Projetyoutube/upload_video_ok.php';
    //echo $tokenValue;
    echo $postUrl;
    // Affichage du formulaire
    $form = '<form action="'. htmlspecialchars($postUrl, ENT_QUOTES) .'?nexturl='
    . urlencode($nextUrl) . '&username='.$username.'" method="post" enctype="multipart/form-data">
    Fichier vidéo : <input name="file" type="file"/>
    <input name="token" type="hidden" value="'. $tokenValue .'"/>
    <input value="Envoyer la vidéo" type="submit" />
    </form>';
     
    echo $form;
    ?>
    Et ma page qui gère les erreurs:
    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
     
    <?php
     
    if(isset($_GET['status']) AND $_GET['status']==200) {
        $videoId = $_GET['id'];
        $username = "username"; 
        $location = 'http://gdata.youtube.com/feeds/api/users/'.$username.'/uploads/' . $videoId;  
        $message='';
     
        require_once 'Zend/Gdata/YouTube.php';
        $yt = new Zend_Gdata_YouTube();
     
        $myVideoEntry = $yt->getVideoEntry(null, $location); 
        $videoControl = $myVideoEntry->getControl();
        $videoState = $myVideoEntry->getVideoState();
     
        if($videoControl==null) {
            $message = "Votre vidéo a été enregistrée avec succès";
        }
        elseif($videoState) 
            {
            $videoStateName = $videoState->getName();
            switch($videoStateName) {
                case 'rejected' : 
                    if($videoState->getText()=='Duplicate video') {
                        $message = "Cette vidéo a déjà été envoyée. Merci de choisir 
                        un autre fichier.";
                    } else {
                        $message = "Votre vidéo n'a pas été acceptée car elle ne 
                        respecte pas les conditions d'utilisation de YouTube. 
                        Peut-être est-elle trop longue ou ne respecte pas certains 
                        droits d'auteur.";
                    }
                break;
                case 'failed' :
                    if($videoState->getText()=='Unable to convert video file') {
                        $message = "Echec lors de l'envoi : Impossible de convertir 
                        le fichier vidéo. Vérifier qu'il s'agit bien d'un fichier 
                        vidéo."; 
                    }
                    else {
                        $message = "Votre vidéo n'a pas été acceptée car elle ne 
                        respecte pas les conditions d'utilisation de YouTube. 
                        Peut-être est-elle trop longue ou ne respecte pas certains 
                        droits d'auteur.";
                    }
                break;
                case 'processing' : $message = "Votre vidéo a bien été envoyée. Elle 
                        est désormais en cours de traitement et sera 
                        publiée d'ici quelques heures.";
                break;
                default: $message = "Votre vidéo a bien été envoyée. Elle est 
                        désormais en cours de traitement et sera publiée d'ici 
                        quelques heures.";
            }
        }
        else {
            $message = "Votre vidéo a bien été envoyée. Elle est désormais en cours 
            de traitement et sera publiée d'ici quelques heures.";
        }
    }
    else {
                $message = "Une erreur s'est produite lors de l'upload du fichier. 
                Merci de contacter le webmaster si ce problème persiste";
     
    }
     
    echo $message;
     
     
     
     
    ?>
    Voila... je sais que cette API est très bien documentée mais je n'ai pas trouvé la solution à mon problème..
    Merci à ceux qui prendrons la peine de lire mon post!

  2. #2
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Ligne 6 de ton code de gestion des erreurs, tu as bien mis ton username en vrai, tu as pas laissé username comme valeur ?

    Ca pourrait expliquer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zend_Gdata_App_HttpException: Expected response code 200, got 400 Invalid value for parameter: username in C:\wamp\www\Projetyoutube\Zend\Gdata\App.php on line 714
    et donc donner un vrai message d'erreur.

  3. #3
    Membre averti
    Homme Profil pro
    Ingé dev
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingé dev
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut
    Salut, merci pour ta réponse , Et oui j'ai bien mis mon nom utilisateur .C'est pour cela que je ne comprend pas trop cette erreur...

    Je vais essayer de mettre un point d’arrêt à la fonction pour voir ce qui lui est passée en paramètre au moment de l'exécution du script je pense que c'est le mieux à faire.

  4. #4
    Membre averti
    Homme Profil pro
    Ingé dev
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingé dev
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut
    Salut à tous, voilà j'ai trouvé le problème je poste ici car cela pourrait servir à d'autres.
    Le problème viens de l’URL de redirection après le traitement par youtube. Un fichier en local ne marche pas du coup je suis passé par mon serveur de test.
    C'est pas top en mode dev mais il n'y a que comme cela que j'ai pu résoudre mon problème.
    Bye

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

Discussions similaires

  1. Utilisation de l'API Youtube
    Par RACHELOU dans le forum Multimédia
    Réponses: 3
    Dernier message: 19/02/2013, 13h41
  2. Message d'erreur généré par un adodc
    Par lauryanog dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/06/2012, 19h20
  3. [Wamp] Oter le message d'erreur généré par wamp lors de l'upload d'un fichier
    Par sarah65536 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 19/05/2009, 13h39
  4. Codes erreur générés par tWarn, tDie et autres composants
    Par ptitenana_vtq dans le forum Exécution et industrialisation
    Réponses: 0
    Dernier message: 12/05/2009, 16h02
  5. Message d'erreur généré par le bandeau de pub skyscrapper
    Par whilecoyote dans le forum Evolutions du club
    Réponses: 11
    Dernier message: 20/04/2006, 01h20

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