Facebook 最近更新了 Graph API 2.1 , 導致原本 2.0 的 FQL API 已經不能使用, 現在如果要查詢多筆資料的話, 就必須得使用新的 Batch Request (Multi Request)...

參考 URL : https://developers.facebook.com/docs/graph-api/making-multiple-requests/

ok 假設我現在有 30 個 id 要查, 所以先宣告一個 array 存放 30筆id資料 然後開始!

  1. 先宣告一個 FBRequestConnection (這是要拿來裝 Request 的)
  2. 在迴圈中 宣告 FBRequest 並填入對應的參數
  3. 將 FBRequest 放進 FBRequestConnection (利用 addRequest) 並加上 CompletionHandler
  4. FBRequestConneciton.start() 開始發送 Request

範例:

var fbConnection : FBRequestConnection = FBRequestConnection();

for (idx, placeID) in enumerate(idArr) {
    var request1 : FBRequest = FBRequest(graphPath:"/\(placeID)", parameters: nil, HTTPMethod: "GET");
  fbConnection.addRequest(request1, completionHandler: {(connection:FBRequestConnection!, result:AnyObject!, error:NSError!) in
                            if(!Error){
                    if let resultObj = result as? FBGraphObject{
                        println(resultObj);
                    }
                }else{
                    // Get Error ...
                    println(Error);
                }
            }, batchEntryName: nil)
fbConnection.start();

這邊要注意的是 FB 在 Request數量上有做限制, 最大只能到 40 筆!
所以需要查詢更多的可能要在這次查詢結束後繼續查詢 ...這是目前覺得很不方變得地方阿!!!

以上~ 有好方法的話請通知我阿~~~ 感謝!!