2011-01-05 125 views
0

我通過用戶名和密碼更新Twitter狀態時遇到問題。使用CURL更新Twitter狀態

這裏是代碼爲:

$username = 'username'; 
$password = 'password'; 
$message = 'Testing'; 
$url = 'http://twitter.com/statuses/update.xml'; 

$curl_handle = curl_init(); 

curl_setopt($curl_handle, CURLOPT_URL, $url); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); //basic authentication 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_POST, 1); 
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message"); 
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); 
$buffer = curl_exec($curl_handle); 

curl_close($curl_handle); 

echo $buffer; 

這不是隻有一個用戶,這樣我可以不使用OAuth(使用消費密鑰和其他標記方式)。我已經試過這個:http://www.1stwebdesigner.com/tutorials/how-to-update-twitter-using-php-and-twitter-api/但我不能傳遞多個用戶的用戶名和密碼來更新多個twitter狀態。

請幫我解決這個問題。

回答

0

首先,你必須使用的cookie每次更新用戶狀態時,那麼每個成功的狀態更新後導致的cookie。 其次,把這個條件放在循環中來更新你所不想要的所有用戶。 見這可以幫助你: http://blancer.com/tutorials/73877/how-to-authenticate-users-with-twitter-oauth/

+0

當我已經使用這個代碼捲曲,然後它會顯示錯誤:「不支持基本身份驗證」,讓你能幫助我在此。 – Anjara 2011-01-05 07:37:26

3

您將無法通過經卷曲的用戶名和密碼的更多更新的Twitter狀態 - 基本身份驗證爲deprecated/turned off by Twitter幾個月前(2010年8月)。第三方應用程序的更新等現在必須通過oauth認證來完成。順便說一句 - 考慮到你使用的PHP - 我建議使用PEAR Services_Twitter包或the Zend equivalent

+0

感謝您的信息。 我查看了你給我的兩個鏈接。但我想動態地使用他們的用戶名和密碼更新多個用戶的twitter狀態。 我將有不同用戶的twitter用戶名和密碼。那麼網上有沒有什麼幫助可以做到這一點? – Anjara 2011-01-05 10:31:22

+1

因此,通過一個數組或某些循環... – kguest 2011-01-05 13:40:13

1

無法使用用戶名和密碼,無論你有多少用戶更新Twitter狀態。這不再有效。它已被關閉。您必須使用OAuth。 OAuth允許多個用戶在您的網站上登錄Twitter。當他們這樣做時,你會得到他們的OAuth令牌副本。然後,您可以使用這些令牌將推文發送到他們的帳戶。您仍然可以找到使用基本身份驗證在線執行此操作的文檔,但所有這些都已過時。基本身份驗證在Twitter上不再可用。