2012-03-19 39 views
18

Tôi muốn thực hiện FQL để truy xuất tất cả bạn bè của người dùng ứng dụng.Thực hiện truy vấn FQL với facebook C# sdk v6.0.10

Trong các phiên bản trước của sdk nó có thể được thực hiện với:

var client = new FacebookWebClient(); 
client.Query(String.Format("SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = {0})", me.id)); 

nhưng với phiên bản 6.0.10 Tôi không có đầu mối làm thế nào tôi có thể làm như vậy.

Bất kỳ ý tưởng nào?

Trả lời

17

Bạn thực sự có thể nhận được cùng với Graph API gọi:

var client = new FacebookClient(); 
var query = string.Format("SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = {0})", me.id); 

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

Cảm ơn! Có cách nào để có được id người dùng facebook như trước: FacebookWebContext.Current.UserID? – Diego

+1

Thực ra, tôi có thể tìm tài liệu ở đâu? bởi vì mọi thứ bây giờ khác nhau và trang web chính thức không cung cấp tài liệu hoàn chỉnh: ( – Diego

+1

Dường như địa điểm mới cho SDK (http://csharpsdk.org/) không có tài liệu hoàn chỉnh, chỉ là những điều cơ bản. Tài liệu mới chỉ là một cái gì đó trong tiến trình ... Bây giờ bạn có thể tìm hiểu thêm thông tin, và xây dựng một tệp trợ giúp (có một tài liệu "tệp dự án" (cho [Trình tạo tệp trợ giúp Sandcastle] (http: // shfb) .codeplex.com /)) nằm trong thư mục 'Build' của các nguồn SDK. –

25

FQL

var fb = new FacebookClient("access_token"); 
dynamic result = fb.Get("fql", 
    new { q = "SELECT uid FROM user WHERE uid=me()" }); 

FQL đa Query

var fb = new FacebookClient("access_token"); 
dynamic result = fb.Get("fql", new 
    { 
     q = new[] 
       { 
        "SELECT uid from user where uid=me()", 
        "SELECT name FROM user WHERE uid=me()" 
       } 
    }); 

FQL tên đa truy vấn

var fb = new FacebookClient("access_token"); 
dynamic result = fb.Get("fql", 
    new 
     { 
      q = new 
      { 
       id = "SELECT uid from user where uid=me()", 
       name = "SELECT name FROM user WHERE uid " + 
       "IN (SELECT uid FROM #id)", 
      } 
     }); 
Các vấn đề liên quan