2013-05-22 71 views
0

我想簡單地使用C#控制檯應用程序連接到Facebook圖表,但我有FacebookOAuth異常。這是我到目前爲止的代碼:Facebook API登錄C#桌面應用程序

 var client = new FacebookClient(); 

     // Exchange the code for an access token 

     dynamic result = client.Get("/oauth/access_token", new 
     { 
      client_id = "****************", 
      client_secret = "*****************************", 
      redirect_uri = "http://www.teamdavix.com", 
     }); 

     // Read the auth values 
     string accessToken = result.access_token; 

     DateTime expires = DateTime.UtcNow.AddSeconds(Convert.ToDouble(result.expires)); 

     var query = "SELECT author_uid, page_id, message FROM checkin WHERE page_id = 357981198572"; 

     dynamic parameters = new ExpandoObject(); 
     parameters.q = query; 
     dynamic results = client.Get("/fql", parameters); 
     Console.WriteLine(results); 
     Console.ReadKey(); 
+0

異常來自哪裏? –

+0

@JamieKeeling我的歉意。錯誤來自動態結果= client.Get(「/ oauth/access_token」...) –

+0

@JamieKeeling具體來說,它說我的redirect_uri無效。我應該爲基於桌面的應用使用什麼redirect_uri? –

回答

0

你必須使用https://www.facebook.com/connect/login_success.html從桌面應用程序REDIRECT_URI。來自成功登錄的信息將作爲URL中的url碎片(在#之後)傳遞。如果有錯誤,它將作爲查詢字符串參數(在?之後)傳遞給url。

http://www.hackviking.com/2014/11/facebook-api-login-flow-for-desktop-application/ - 如何從桌面應用程序實現登錄流的完整示例。

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2 - 關於如何建立自己的登錄流程的更多信息。