Kann nicht Holen Sie sich aktuelle tweets mit dem Twitter-API 1.1 und PHP

Ich versuche, Holen Sie sich die neuesten tweets von einem bestimmten Benutzer mit Hilfe von PHP und CURL und der neuen 1.1-API, ich habe meine neue App der twitter-website und ging in die OAuth-Registerkarte tool zum generieren der Signatur und nach der Seite, es generiert den folgenden curl-Befehl:

curl --get 'https://api.twitter.com/1.1/statuses/user_timeline.json?count=2&screen_name=twitter' --header 'Authorization: OAuth oauth_consumer_key="Waqd223QDuge6l9UboBldg", oauth_nonce="8a9beae863838b0ba2bc6ac03bc9757e", oauth_signature="u2PrZ5g14HGb39pHoYl9azHp6vg%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1355408402", oauth_token="171967067-lyLujNed9QyVBfmlfAkFXiUt5KIQkqrCMwg6utFc", oauth_version="1.0"'

Was funktioniert gut in mein terminal, aber wenn ich versuche zu replizieren, die es in PHP bekomme ich eine "Konnte nicht authentifiziert werden" Fehler, dies ist, was ich habe, so weit:

$options = array(
    URLOPT_HTTPHEADER      => array('Authorization: OAuth oauth_consumer_key="Waqd223QDuge6l9UboBldg", oauth_nonce="8a9beae863838b0ba2bc6ac03bc9757e", oauth_signature="toLnir5cHUUvEj8X29SdzjlOTXc%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="' . time() . '", oauth_token="171967067-lyLujNed9QyVBfmlfAkFXiUt5KIQkqrCMwg6utFc", oauth_version="1.0"'),
    CURLOPT_HEADER         => false,
    CURLOPT_URL            => 'https://api.twitter.com/1.1/statuses/user_timeline.json?count=2&screen_name=twitter',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false
);

$feed = curl_init();
curl_setopt_array($feed, $options);
$json = curl_exec($feed);
curl_close($feed);

$twitter_data = json_decode($json);

var_dump($twitter_data);

Das einzige, was ich ändere, ist die oauth_timestamp wo ich die time() - Funktion, um die aktuelle Zeit, ich denke, ich muss die falschen Optionen übergeben, um die curl-Funktion, aber ich kann T es herausfinden.

Vielen Dank im Voraus.

Ich denke, es hat etwas zu tun mit der oauth_signature da die oauth_timestamp anders ist, dann sollte die Signatur auch anders sein?

InformationsquelleAutor Javier Villanueva | 2012-12-13

Schreibe einen Kommentar