2012-03-04 73 views
0

[我的卑微的請求:請不要忽略這個問題,只需添加一些參考問題鏈接。我閱讀所有的參考我可以,但我沒有得到我所需要的]C#facebook應用程序

我想做一個Windows /控制檯應用程序,我需要離線訪問用戶詳細信息。所以我試了下面的代碼。

String finalRedirectUri = "https://www.facebook.com/dialog/oauth?client_id=" + 
    _appKey2 + "&redirect_uri=" + _SiteURL + "&scope=email,read_stream"; 
String GraphUri = "https://graph.facebook.com/oauth/access_token?client_id=" + 
    _appKey2 + "&redirect_uri=" + _SiteURL + "&scope=email,read_stream"; 

FacebookClient client = new FacebookClient(_appKey2, _secret2); 
FacebookOAuthClient oAuthClient = 
    new FacebookOAuthClient(FacebookApplication.Current); 
oAuthClient.AppId = _appKey2; 
oAuthClient.AppSecret = _secret2; 
oAuthClient.RedirectUri = new Uri(finalRedirectUri); 
String Uri = oAuthClient.GetLoginUrl().ToString(); 

try 
{ 
    dynamic tokenResult = 
     oAuthClient.ExchangeCodeForAccessToken("offline_access"); 
} 
catch (Exception exp) 
{ 
    MessageBox.Show("" + exp.Message); 
} 

我總是收到錯誤信息:「(OAuthException)無效的驗證碼格式」 我搜索計算器中許多環節和http://developers.facebook.com/docs/authentication/還,但它並沒有幫助我找到解決方案。我甚至不知道使用哪個uri。 我使用Visual Studio 2010 [請DONOT只是簡單地被標記爲重複忽視這個問題] 溫柔給我請..

回答

0

這是可能的,如果你下載的編制Facebook的DLL(從的NuGet爲例),即它的建造很糟糕。嘗試下載源代碼並自己編譯並使用該DLL。 下面是一個post的例子,有同樣的問題。
即使他們的問題,是給不同的錯誤,它可能這恰恰是你有問題,因爲它是在你的變異可能只是運行到自己的錯誤的另一個相同的功能。

這裏是你可能有其他兩個可能的問題:
Sometimes, redirect uri should be null
OAuth really likes the '/' at the end of a uri

+0

@Shingestu,_appKey2和_secret2只因爲當我跑在調試模式下申請我finalRedirectUri得到的值正確格式當我複製到瀏覽器地址欄時,它重定向到應用程序批准的屏幕。謝謝Shingestu,我希望我的觀點很清楚。 – 2012-03-04 15:16:47

+0

難道FacebookApplication.Current不是oAuthClient的有效constructr參數嗎? – 2012-03-04 15:31:26

+0

我試圖刪除,也沒有改變。 – 2012-03-04 15:43:07