【发布时间】:2012-03-01 15:48:58
【问题描述】:
我在处理 facebook 的大用户 ID 并将它们正确存储到我的数据库中时遇到问题..
由于 fql.query REST api 将被弃用,我正在使用 GRAPH API 来获取 FQL 的结果。
我想获取我的有性朋友的列表,relationship_status 。
我执行的查询是
$allFriends = $facebook->api("/fql
?q=SELECT+uid,+name,+sex,+relationship_status+FROM+user+where+uid+in+
(SELECT+uid2+FROM+friend+WHERE+uid1+=$fbuid)"
);
我在 Graph API explorer 中尝试了上述方法,结果是这样的,
{
"data": [
{
"uid": 100003082853071,
"name": "Sam jones",
"sex": "male",
"relationship_status": null
}
]
}
请注意,uid 以 int 的形式返回,因此每当我打印数组本身时,它的值都类似于 (1.34234422 +E03)。因此,即使该数组的 json_encode 也无济于事。
但是当我直接调用 GRAPH API 时,像“graph.facebook.com/1585213/friends”这样将数据返回为
{
"data": [
{
"name": "Vijay Kannan",
"id": "102937142343"
}
]
}
注意 id 作为 string..
返回每当我使用图形 API 调用 FQL 查询时,它会将整个数据作为 'Array' 返回,因此长长的大 facebook uid 会转换为类似 (1.34234422 +E03) 的浮点数) .
如何将它们转换为正确的 uid 并存储/处理它们。
我认为 FQL 和 GRAPH API 调用的不一致问题也应该由 Facebook 处理。但我已经等不及了!!
对此有什么想法吗?
【问题讨论】:
标签: facebook facebook-graph-api facebook-fql