Wie*_*man 1 facebook facebook-fql facebook-graph-api
我希望FQL查询的结果只返回在其设备列表中具有iOS设备的用户的朋友.以下查询:
SELECT uid, first_name, devices
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
ORDER BY profile_update_time DESC
LIMIT 0, 100
Run Code Online (Sandbox Code Playgroud)
返回如下列表:
{
"data": [
{
"uid": 12345678,
"first_name": "John",
"devices": [
{
"os": "iOS",
"hardware": "iPhone"
}
]
},
{
"uid": 1234345678,
"first_name": "Pete",
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想只检索至少拥有一个os为"iOS"的设备的用户.我试过包括
devices.os = "iOS"
Run Code Online (Sandbox Code Playgroud)
在查询中,但这返回了一个错误.
这可以通过FQL查询吗?或者这应该在客户端解决?
刚刚发现,它IS可能!您可以将IN操作符与devices列一起使用.无需限制操作系统或硬件.
示例:所有拥有iPhone的朋友: 试试
SELECT uid, name, devices FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND "iPhone" IN devices
ORDER BY profile_update_time DESC
LIMIT 0, 100
Run Code Online (Sandbox Code Playgroud)
示例:所有拥有iOS设备的朋友(例如iPhone或iPad): 试用
SELECT uid, name, devices FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND "iOS" IN devices
ORDER BY profile_update_time DESC
LIMIT 0, 100
Run Code Online (Sandbox Code Playgroud)
提示:如果您想使用此查询来构建自定义朋友选择器,以便向尚未安装iOS应用但具有iOS设备的Facebook好友发送邀请,则需要在您的WHERE子句中包含以下内容:
AND is_app_user = 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |