2013-05-22 49 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 - 关于如何建立自己的登录流程的更多信息。