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

EDI, CMS, Outils, Scripts et API PHP Discussion :

API Twitter en php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut API Twitter en php
    Bonjour,

    Je cherche à mettre en place un script php pour envoyer un tweet sur mon compte twitter.

    1. J'ai téléchargé la bibliothèque tmhOAuth.php et tmhUtilities.php que j'ai copiés ds un répertoire de mon site.
    1 J'ai créé un fichier envoi_twitt.php dans le même répertoire :
    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
    <?php
    /**
     * Envoie un message sur twitter (stat
     * Si le message, une fois encodé en UTF-8, fait plus de 140 caractères, alors il ne sera pas accepté par Twitter.
     *
     * @param $message Message à envoyer à Twitter
     * @return TRUE ou FALSE
     */
     $message = 'Script php pour twitter';
     echo $message;
    function tweet($message) {
    	require 'tmhOAuth.php';
    	$tmhOAuth = new tmhOAuth(array(
    		'consumer_key' => 'ma_clef_consumer',
    		'consumer_secret' => 'ma_clef_consumer_secret',
    		'user_token' => 'ma_clef_acess_token',
    		'user_secret' => 'ma_clef_access_secret_token',
    	));
     
    	$tmhOAuth->request('POST', $tmhOAuth->url('statuses/update'), array(
    		'status' => utf8_encode($message)
    	));
     
    	if ($tmhOAuth->response['code'] == 200) {
    	// En cours de dév, afficher les informations retournées :
    	//  $tmhOAuth->pr(json_decode($tmhOAuth->response['response']));
    echo "TRUE";		
    return TRUE;
    	} else {
    	// En cours de dév, afficher les informations retournées :
    	//  $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
    echo "FALSE";		
    return FALSE;
    	}
    }
    tweet();
    ?>
    Quand je consulte mon fichier envoi_twitt.php avec mon navigateur, rien ne se passe... Et ce avec une version de php 4.4.9 et 5.3.3 (ISP config de chez OVH dans ce cas).
    De plus, je n'ai pas de message d'erreur.

    Auriez-vous une idée sur ce qui ne va pas ?

    Par avance Merci !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t’appelles jamais tweet

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Désolé, j'ai rajouté l'appel de la fonction tweet en fin de fichier :
    tweet();

    Mais rien ne se passe.

    merci.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait un moins un echo dans ta condition pour marquer quelque chose

    et puis c'est <?php pas <?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    J'ai corrigé. J'ai mis deux "echo" dans la condition.
    Aucun des deux ne s'affiche. Pas de message d'erreur.
    Pas de tweet publié.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ta bien change tes tags php ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    <?php .......?> oui.
    Dans le tuto, il est indiqué qu'il n'y a rien à configurer dans tmhOAuth.php.
    Je n'ai donc pas touché à ce fichier.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    quel est le rendu de la source HTML, ton nvieau d'erreur est bien au maxium ? ton display_error activé ?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Rendu de mon code html :

    Script php pour twitterFALSE

    sur du php 4.4.9 avec display errors en ON.

    j'appelle ma fonction : tweet($message);
    sinon erreur.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    commence par mette un version plus récente de PHP

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Cette version là ca va ? PHP Version 5.3.3-7+squeeze3.
    Voilà le php info. Là le display errors est en off
    http://www.lokazionel.info/info_php.php

    Et mon rendu sur cette version :
    Script php pour twitter

    Le FALSE ne s'affiche pas comme sur la 4.4.9

    Il doit être mal configuré...

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    met le sur On

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    OK Display_error est sur ON. Voilà le message d'erreur :
    Fatal error: Call to undefined function curl_init() in /var/www/clients/client1/web1/web/api_twitter/tmhOAuth.php on line 567

    Visiblement une fonction non définie....

    En te remerciant pour tes conseils.

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    il te manque l'extension cURL

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Oui, c'est ce que je vois
    http://www.kitsgraphiques.net/fatal-...nit--tu50.html

    Je vais l'installer : apt-get install curl php5-curl libcurl3-dev

    A quel niveau je dois saisir cette commande ?
    /etc/ ?

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    juste php5-curl, l'installes est auto pas besoin d'aller dans un dossier spécial

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Visiblement, l'install (sudo apt-get install php5-curl) de curl n'aboutit pas. A A la fin, j'ai ce message sur mon terminal et j'ai plus la main :

    * Updated blowfish crypt() algorithm fixes the 8-bit character handling
    vulnerability (CVE-2011-2483) and adds more self-tests. Unfortunately
    this change is incompatible with some old (wrong) generated hashes for
    passwords containing 8-bit characters. Therefore the new salt prefix
    '$2x$' was introduced which can be used as a replacement for '$2a$'
    salt prefix in the password database in case the incompatibility is
    found.

    -- Ond?ej Sur? <ondrej@debian.org> Mon, 04 Jul 2011 10:31:16 +0200

    /tmp/tmp7n43NE (END)

    J'ai relancé apache, rien ne change.

    Sur mon autre serveur ovh, avec des extensions en .php5 pour une lecture avec une version plus récente de php, le résultat du code donne :
    Script php pour twitterFALSE
    Donc la première condition ne fonctionne pas.

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    essaye de faire un update du système

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    J'ai finalement réussi sur mon hébergement OVH avec PHP 4.4.9

    Ne faut-il pas qu'un délai (+ de 24 heures...) s'écoule avant que les clefs/application de Twitter ne soient actives ?

    Le code en début de discussion fonctionne avec la classe tmhOAuth.php

    Merci à stealth35 de son aide ! C'est toujours bien d'apprendre.

    A+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/04/2015, 12h57
  2. API Twitter en php bis
    Par Allen_blocci dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/09/2012, 23h52
  3. Indentation avec l'API XSL de PHP 5
    Par The SorroW dans le forum APIs
    Réponses: 2
    Dernier message: 28/03/2008, 18h39
  4. [Java] Utiliser une API Java en PHP
    Par Antoun dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/10/2007, 12h19
  5. Comment exécuter une API windows via php ?
    Par mikemead dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 31/03/2006, 10h19

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