2011-06-13 96 views
20

我想實現tweetsharp在我的asp.net MVC 3應用程序,但我遇到的問題。Tweetsharp授權呈現沒有OAuth令牌

我已經創建了以下設置一個新的Twitter應用程序:

然後我用提供在其網站上有一些小的改動樣本:

public ActionResult Twitter() 
{ 
    TwitterService service = new TwitterService("key", "secret"); 
    OAuthRequestToken requestToken = service.GetRequestToken("http://127.0.0.1:8545/Membership/TwitterOAuth"); 

    var uri = service.GetAuthorizationUri(requestToken); 

    return new RedirectResult(uri.ToString(), false /*permanent*/); 
} 

public ActionResult TwitterOAuth(string oauth_token, string oauth_verifier) 
{ 
    var requestToken = new OAuthRequestToken { Token = oauth_token }; 

    TwitterService service = new TwitterService("key", "secret"); 
    OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier); 

    service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret); 
    TwitterUser user = service.VerifyCredentials(); 

    return RedirectToAction("Index", "Home"); 
} 

每當我欠幅他的代碼我重定向到以下Twitter的網址:https://api.twitter.com/oauth/authorize?oauth_token=

任何人都經歷過這個?


編輯

看來,問題是用的應用方式是設置。由於我沒有提供回調URL,該應用程序會自動保存爲一個客戶端,而不是瀏覽器應用程序。一旦我添加了回調網址,代碼就能正常工作。

+16

你應該創建一個答案,你自己的問題,而不是編輯。這對我幫助很大,如果它被公佈爲可接受的答案,以便人們迅速看到答案,那就太好了。 – KMan 2012-05-28 09:25:51

+0

你已經註冊你的應用程序來Twitter? – ADIMO 2012-12-05 10:55:14

回答

5

看來問題是應用程序安裝的方式。由於您沒有提供回調網址,因此該應用程序會自動保存爲客戶端而不是瀏覽器應用程序。一旦你添加了一個回調url,代碼就可以正常工作。

[從你自己的問題文本]