Bonsoir,

J'ai un code qui récupère un tweet en fonction de son id, j'utilise donc statuses/show.
Le problème se pose quand je veux afficher le texte du tweet :

<?php foreach($tweets as $tweet){
    echo $tweet->text . "<br>";
}
?>

Dans le JSON, le texte du tweet peut être appelé par le mot "text", sauf que quand je fais ce code je n'ai aucun retour et quand je fais un var_dump j'ai un "NULL", comme réponse, (ce qui est surprenant c'est que j'arrive par contre à afficher par exemple le nombre de "Favoris" pour ce tweet ou son id).

Si quelqu'un à une idée je veux bien, j'ai essayé pas mal de solution sans succès (par exemple d'utiliser un json_decode.. et ça ne fonctione pas non plus).

6 réponses


Kenor
Réponse acceptée

Tu as fais un var_dump de $tweets ou de $tweet ?
Si c'est bien de $tweets, il renvoit directement le tweet, et non une liste de tweet.

Donc tu devrais directement faire $tweets->text (et non un foreach)

(c'est pas très visuel le copier/coller comme ça, un <pre></pre> n'aurait pas été du luxe :))

Laznet
Auteur
Réponse acceptée

Bon bah apparemment problème résolu... dans le doute j'ai voulu tester si le code marchait bien.. j'ai donc fais un

var_dump($tweets->text);

Et j'ai eu le bon retour..

Hello,

Fais nous un copier-coller du résultat de var_dump($tweets); s'il te plait.

Laznet
Auteur

Voici le retour JSON.

EDIT de mon problème : En faite j'ai essayé de suivre le tuto de grafikart sur afficher nos derniers tweets.. et là bizarrement le "text" fonctionne.. j'arrive à afficher mes tweets.. (et plus particulièrement uniquement les textes..), donc c'est encore plus bizarre que ça ne fonctionne pas pour statuses/show.

Laznet
Auteur

Sauf que c'est bien UN tweet xD, je cherche a récupérer un tweet en fonction de son id, le retour JSON me retourne bien un tweet.. c'est quand je veux manipuler les infos que ça merde.. quand je veux utiliser la data "text" du JSON.

<?php
    require "vendor/autoload.php";
    use Abraham\TwitterOAuth\TwitterOAuth;

$access_token = "";
$access_token_secret = "xxxxxx";

$connection = new TwitterOAuth("XXXX", "XXXX", "XXXXX", "XXXXX");
$tweets = $connection->get('statuses/show', [
    'id' => 882290326416830465
]);

var_dump($tweets);

?>

Voilà ce que j'ai fais pour qu'il me donne mon retour JSON.

Oui et est-ce que tu pourrais nous poster le retour que tu as avec ton var_dump($tweets); comme demandé plus haut ..?
Bien indenté si possible ;)

EDIT : je n'avais pas vu plus haut. Apparament tu as réglé ton problème, parfait ;)