2011-08-31 86 views
5

我使用的播放框架和play.libs.OAuth,嘗試使用下面的代碼連接到Twitter連接到Twitter:得到錯誤401嘗試與play.libs.OAuth

public static void twitterConnect() 
{ 
    Response response; 
    ServiceInfo twitterServiceInfo = new ServiceInfo(
     "https://api.twitter.com/oauth/request_token", 
     "https://api.twitter.com/oauth/access_token", 
     "https://api.twitter.com/oauth/authorize", 
     "ZA*****************Dw", 
     "Zy*************************************U4"); 

    if(OAuth.isVerifierResponse()) { 
     // ... 
    } else { 
     OAuth twitter = OAuth.service(twitterServiceInfo); 
     response = twitter.retrieveRequestToken(); <-- NOT WORKING!!! 
     redirect(twitter.redirectUrl(response.token)); 
    } 
} 

但在該行標記爲< - NOT WORKING !!!;我收到以下錯誤:

OAuth.Error: NOT_AUTHORIZED - Authorization failed (server replied with a 401). This can happen if the consumer key was not correct or the signatures did not match.

我仔細檢查過我的消費者密鑰和祕密,以及請求,訪問和授權的網址,但無濟於事。

關於我的代碼有什麼問題的任何想法?

+0

閱讀一些文檔,但我認爲這種方法缺少包括用Twitter進行身份驗證的簽名的所有好東西。 –

+0

我遇到完全相同的問題。奇怪的是沒有人提出足夠的答案。猜猜,我應該試試抄寫員庫 – preslavrachev

回答

1

我掏出了OAuth代碼,並使用Fernandez Pablo編寫的Scribe庫重新實現。似乎我現在越來越遠了。 :)

-1

應用新的twitter oauth密鑰和祕密回調URL可能會解決問題。