一次获取所有健身数据

时间:2015-09-03 20:03:51

标签: ios facebook swift facebook-graph-api

从官方Facebook docs,你可以得到一个简单的声明,你可以获取 3种类型的fitness活动:

  • fitness.bikes
  • fitness.walks
  • fitness.runs

那很好但是它们都有相同的字段,除了graphPath之外,没有可能去除哪一个被取出。
我需要所有这些数据,理想情况下我想一次性获取所有数据但是如果我创建这样的方法:

let walkRequest = FBSDKGraphRequest(graphPath: "me/fitness.walks", parameters: nil)
let runRequest = FBSDKGraphRequest(graphPath: "me/fitness.runs", parameters: nil)
let bikeRequest = FBSDKGraphRequest(graphPath: "me/fitness.bikes", parameters: nil)

var connection = FBSDKGraphRequestConnection()

connection.addRequest(walkRequest) { (connection, result, error) -> Void
    //
}

connection.addRequest(runRequest) { (connection, result, error) -> Void
    //
}

connection.addRequest(bikeRequest) { (connection, result, error) -> Void
    //
}

connection.start()

我得到三个不同的callbacs,返回相同的数据,不知怎的,我必须将它合并到一个结构中,以便我可以将它发送到后端。 我想得到一个类似于Dictionary的结构:

[
    "walks": [ JSON ],
    "runs": [JSON],
    "bikes": [ JSON ]
]

是否可以创建这样的批量请求?或者我必须手动使用3个不同的FBSDKGraphRequest并等待它们完成?

1 个答案:

答案 0 :(得分:1)

您应该可以通过所谓的字段扩展来实现这一目标:

GET /me?fields=fitness.bikes,fitness.walks,fitness.runs

由于我的帐户中没有此类数据,我无法测试结果,但查询运行顺利。

相关问题