2012-05-07 12 views
5

Ich versuche eine Webanwendung zu erstellen, die es einem Benutzer ermöglicht, einen Tweet von einem Formular direkt auf der Webseite zu posten, anstatt das eigene vorgefertigte Pop-up von Twitter zu verwenden. Das Problem ist, der Code-Snippet, dass ich rund um das Web zu sehen bin nicht funktioniert:Einen Tweet mit Oauth veröffentlichen

$message = "Hello there! This is a tweet!"; 

$twitterObj->post('statuses/update', array('status' => "$message")); 

Und wenn ich versuche, den Code auszuführen bekomme ich diesen Fehler:

Warning: Invalid argument geliefert für foreach() in /twitter/EpiOAuth.php on line 76

Warnung: http_build_query() [Funktion.http-Build-Abfrage]: Parameter 1 erwartet, dass Array oder Objekt sein. Falscher Wert in /twitter/EpiOAuth.php auf der Leitung gegeben 140

ich das Beispiel und mit Hilfe der OAuth-Bibliothek unter dieser Adresse gefunden Aufbau aus:

http://www.jaisenmathai.com/articles/twitter-php-sign-in.html

Hat jemand irgendwelche Tipps?


EDIT

Problem gelöst! Es stellt sich heraus, dass dies die richtige Aussage war, dass ich zu verwenden, erforderlich:

$twitterObj->post_statusesUpdate(array('status' => 'Message goes here.')); 

Antwort

2

Dies ist, was ich benutze:

$message = "Hello there! This is a tweet!"; 

$twitterObj->OAuthRequest('https://twitter.com/statuses/update.xml', array('status' => $message), 'POST');

Dies ist mit der Bibliothek hier gefunden: https://github.com/abraham/twitteroauth

+0

Vielen Dank für die Hilfe! Ich habe meinen Code durch Ihren ersetzt und es sieht so aus, als ob die Fehler verschwunden sind, aber es wird immer noch kein Tweet gepostet. Es erkennt es also, aber es sieht nicht so aus, als ob es es ausführt. –

+0

Haben Sie Schreibzugriff für Ihre App am Ende von Twitter aktiviert? – Hawkee

+0

Ja, ich habe es für Testzwecke auf "Lesen, Schreiben und Zugriff auf direkte Nachrichten" eingestellt und habe es wieder auf "Lesen und Schreiben" zurückgesetzt und es hat immer noch nicht funktioniert. –