2012-08-24 158 views
0

我想設置一個JavaScript函數發佈狀態到Twitter帳戶使用POST狀態/更新,詳細信息在這裏:https://dev.twitter.com/docs/api/1/post/statuses/update。目標是一個Twitter帖子,類似於Facebook上的開放圖表操作。如何獲取嘰嘰喳喳oAuth令牌的登錄用戶

我使用jQuery AJAX進行POST請求,這是我到目前爲止有:

$.ajax 
({ 
    type: "POST", 
    url: "https://api.twitter.com/1/statuses/update.json", 
    headers: jsonData, 
    data: {}, 
    dataType: "jsonp", 
    success: function(data) 
    { 

    } 
}); 

我相信,我需要生成一個頭像這樣的安全:

Authorization: OAuth oauth_consumer_key=consumerKey, oauth_nonce=nonce, 
oauth_signature=signature, oauth_signature_method="HMAC-SHA1", 
oauth_timestamp=timestamp, oauth_token=userToken, oauth_version="1.0" 

我有我的應用程序的消費者密鑰,我可以生成一個隨機數,我使用這個問題的方法Twitter OAuth authentication in javascript生成簽名和時間戳。我留下的唯一東西是th oauth_token,我相信這是我希望發佈到的用戶的標記。如果我錯了,請糾正我。

問題是,我完全不知道如何從用戶獲取此令牌以發佈到其供稿。我花了最近2個小時通過Twitter的oAuth文檔在圈子裏跑來跑去,沒有發現任何看起來有用的東西;我發現的一切都是流程圖,沒有代碼示例,或者我的代碼已經擁有用戶的oAuth標記。

我的問題是:我怎樣才能獲得登錄用戶的OAuth令牌使用JavaScript?

如果這是不可能的,我有另一個頁面,我目前正在他們的權限存儲用戶的twitter ID在數據庫中,獲取他們的令牌和數據庫在PHP中也將是令人滿意的,假設它不會改變經常。

回答

1

爲了獲得oauth_token,您需要遵循身份驗證過程。您的應用程序需要授權代表用戶採取行動。 我會建議先花一些時間,然後學習OAuth是如何工作的(有很多可用的信息),然後在您的應用中實現它。 (http://hueniverse.com/oauth/) 你也可以從一個圖書館中受益,這會讓你的生活更輕鬆。 (在你的情況下,看看:https://dev.twitter.com/docs/twitter-libraries#php)。

希望這有用。

+0

我對oAuth系統的工作原理有些熟悉,我的問題在於Twitter的api。我知道我需要一個用戶令牌,這樣當我發佈帖子請求時,Twitter的系統就知道將該鳴叫與哪些人聯繫起來。我只是不知道如何獲得用戶令牌,因爲在所有這些文檔中,twitter只是簡單地使用流程圖。我發現代碼最接近的是https://dev.twitter.com/docs/auth/implementing-sign-twitter我會仔細研究一下,看看能不能找到任何東西,儘管它會很好,如果他們有一個代碼示例。 – user1623484

+0

令牌通過回調返回,由Twitter發送到您的應用。你需要知道的一切都在這個環節。此外,嘗試使用其中一個php庫,它們可能會幫助您更快地獲取訪問令牌,而不是閱讀和理解整個內容。 – AnduA

1

下面是在Twitter中獲取twitter oauth標記和發佈推文的示例。代碼示例是在PHP中。

http://www.phpgang.com/how-to-post-tweet-on-twitter-with-php_414.html

1)取得OAuth令牌,你需要遵循的認證過程。 2)你的應用程序需要被授權代表用戶行事。

你也可以看到這個嘰嘰喳喳例如,對於更好地理解它是如何工作

在這種使用可以看到授權用戶和崗位的過程中,得到JSON結果。

https://dev.twitter.com/rest/tools/console

我希望這會幫助你。

謝謝