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

PHP & Base de données Discussion :

Comment résoudre un "HTTP method GET is not supported by this URL Error 405" pour l'API YouTube (upload)


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Comment résoudre un "HTTP method GET is not supported by this URL Error 405" pour l'API YouTube (upload)
    Bonjour,

    Pourriez vous m'aider à resoudre mon problème concernant une requete d'upload à Youtube, j'obtiens le résultat suivant :

    HTTP method GET is not supported by this URL

    Error 405

    J'ai déjà cherché sur les forums, la seule solution viable que j'ai trouvée à été d'essayer un try / catch exception mais sans succés malheureusement...

    Une idée ?

    Voici mon code :
    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
    83
    84
    85
    86
    87
    88
    89
    90
    public function youtube_auth(){
     
       /* ********************************************************************************
        *                         Les inclusions de script
        * ********************************************************************************/
     
            set_include_path(get_include_path().PATH_SEPARATOR.FCPATH.'/application/libraries');
     
            require_once 'Zend/Loader.php';
            Zend_Loader::loadClass('Zend_Gdata_YouTube');
            $yt = new Zend_Gdata_YouTube();  
     
            require_once 'Zend/Gdata/YouTube.php';
            require_once 'Zend/Gdata/ClientLogin.php';
     
       /* ********************************************************************************
        *                         ETAPE 1 => Authentification
        * ********************************************************************************/     
     
            // configuration et identifiants
     
            $authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin'; // Url pour s'identifier
            $developerKey = 'VALID-KEY-HERE'; // Clé développeur
            $applicationId = 'ytapi-SocialPlatform'; // Identifiant de l'application
            $clientId = NULL; // Identifiant Client
            $username = "valid-email@example.com"; // Login/adresse mail de votre compte YouTube
            $password = "my-password"; // Mot de passe de votre compte YouTube
     
            // authentification via la méthode HTTP
     
            $httpClient = Zend_Gdata_ClientLogin::getHttpClient(
                $username,$password,'youtube',null,'MonSiteWeb',null,null,$authenticationURL
            );
            $yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);
     
       /* ********************************************************************************
        *                         ETAPE 2 => Envoie des d'Informations sur la vidéo
        * ********************************************************************************/
     
     
            // création d'un nouvel objet video
     
            $myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
     
            // on donne des informations sur notre vidéo
     
            $myVideoEntry->setVideoTitle('Test1');
            $myVideoEntry->setVideoDescription('Bah c est un test quoi !');
            $myVideoEntry->setVideoCategory('Sports'); // La catégorie doit correspondre à une catégorie YouTube
            $myVideoEntry->SetVideoTags('test, essai');
            $myVideoEntry->SetVideoDeveloperTags(array('mydevtag','anotherdevtag'));
     
       /* ********************************************************************************
        *                         ETAPE 3 => Récupération du Token unique
        * ********************************************************************************/
     
            // Récupération du token
     
            $tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
            try{
                $tokenArray = $yt->getFormUploadToken($myVideoEntry, $tokenHandlerUrl);
            }
            catch ( Zend_Gdata_HttpException $e ){
                print "Error ZendGdataException";
            }
            $tokenValue = $tokenArray['token'];
            $postUrl = $tokenArray['url'];
     
     
        /* ********************************************************************************
        *                         ETAPE 4 => Envoie de la vidéo
        * ********************************************************************************/     
     
            // Page sur laquelle sera renvoyé l'utilisateur après la validation
            // du formulaire (URL de retour)
     
            $nextUrl = 'http://s390075769.onlinehome.fr/index.php?/site/';
     
            // Affichage du formulaire
     
            $form = '<form action="'. 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="'. $tokenValue .'"/>
            <input value="Envoyer la vidéo" type="submit" />
            </form>';
     
            echo $form;
     
        }
    Merci ! si il vs faut la fonction youtube_retour, demandez moi (elle traite les messages d'erreurs.

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Okay, j'ai trouvé la source de mon erreur, il me manquait

    require_once ‘Zend/Gdata/YouTube.php’;
    require_once ‘Zend/Gdata/ClientLogin.php’;

    And now it works !

Discussions similaires

  1. Erreur 405 HTTP Method GET
    Par dark0502 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/09/2013, 18h03
  2. Problème servlet : erreur 405 HTTP Method GET
    Par dark0502 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 14/09/2013, 11h31
  3. Method HTTP post n'est pas supportée par cet url
    Par Miimmmii dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 14/01/2013, 11h53
  4. [iOS 4.x] Requête HTTP Methode GET ou POST
    Par salma.mathlouthi dans le forum Objective-C
    Réponses: 0
    Dernier message: 05/10/2012, 15h45

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