Använder följande kod för att posta ett meddelande till twitter, men inget sparas på min twitter-profil.
$user = 'mittnamn';
$pass = 'mittlösenord';
$twitter = 'http://twitter.com/statuses/update.xml';
$status = 'Testar att posta från www.minsida.se.';
$status = trim(urlencode(stripslashes($status)));
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, $user.':'.$pass);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $twitter);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=".$status);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect:"));
curl_exec ($curl);
$HttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
switch($HttpCode):
case 200:
echo 'Your status has been updated';
break;
case 401:
echo 'Not Authorized: invalid username or password.';
break;
default:
echo 'An unknown error has occured. Try Again';
endswitch;
curl_close($curl);
Statusen jag får, är "Your status has been updated", men inget postas till twitter.
SPiNMedlem sedan mars 20005 832 inlägg Du är inte inloggad via någon annan klient/webläsare samtidigt väl? Då brukar det bli problem. Annars ser det inte ut att vara några problem med koden, men du kanske ska använda ett bibliotek för att underlätta.
Annars kan du försöka med följande CURL-anslutning; http://brandontreb.com/twitter-api-programming-tutorial-with-php-getting-started/
Nej, jag är inte inloggad på twitter någon annanstans.
Testade även koden på länken du bifogade (http://brandontreb.com/twitter-api-programming-tutorial-with-php-getting-started), då fick jag "Error: 400".
EDIT: Hittade följande om "Error: 400".
400 Bad Request: The request was invalid. An accompanying error message will explain why. This is the status code will be returned during rate limiting.
Min "limit":
<remaining-hits type="integer">150</remaining-hits>
<reset-time-in-seconds type="integer">1256766880</reset-time-in-seconds>
<hourly-limit type="integer">150</hourly-limit>
<reset-time type="datetime">2009-10-28T21:54:40+00:00</reset-time>
EDIT 2:
Rate limiting only applies to methods that request information with the HTTP GET command. API methods that use HTTP POST to submit data to Twitter, such as statuses/update do not affect rate limits.
Hmm... :q
JftnMedlem sedan sep. 200913 inlägg Det är inte fel på din kod i alla fall, eftersom jag körde EXAKT din kod och fick både ett meddelande om att det postades, och min Twitter uppdaterades, så koden är good to go.
Frågan är ju dock om det kan vara något annat som fuckar för dig. Du har inga andra problem med CURL? Jag hade det av någon anledning inte ens installerat så jag installerade senaste php5-curl för att testa koden. Prova installera om curl och starta om din webserver. Låter väl lite långsökt, men det lär ju knappast ha något med portar/brandväggar eller sådant att göra.
Antar att du testat koden helt fristående, alltså endast det som står i din paste där uppe, för det var den jag körde. Så du inte kör på en integrerad sida så headers eller annat kan sabba för dig?