我在facebook标签中查询一些墙数据。 我想知道如何过滤数据(查询)以仅显示某个国家/地区可见的帖子。
$query = " SELECT
post_id, created_time, attachment,action_links, privacy
FROM
stream
WHERE
source_id = ".$page_id."
AND viewer_id = ".$user_id."
AND actor_id = ".$actor_id."
LIMIT
50";
输出已经显示澳大利亚:但是如何过滤仅限澳大利亚。
Array (
[posts] => Array
(
[0] => Array
(
[post_id] => 123
[viewer_id] => 123
[source_id] => 123
[type] => 46
[app_id] =>
[attribution] =>
[actor_id] => 123
[target_id] =>
[message] => Only for Austria
[attachment] => Array
(
[description] =>
)
[app_data] =>
[action_links] =>
[comments] => Array
(
[can_remove] => 1
[can_post] => 1
[count] => 0
[comment_list] =>
)
[likes] => Array
(
[href] => http://www.facebook.com/social_graph.php?node_id=118229678189906&class=LikeManager
[count] => 0
[sample] =>
[friends] =>
[user_likes] => 0
[can_like] => 1
)
[privacy] => Array
(
[description] => Austria
[value] => CUSTOM
[friends] =>
[networks] =>
[allow] =>
[deny] =>
)
[updated_time] => 1271520716
[created_time] => 1271520716
[tagged_ids] =>
[is_hidden] => 0
[filter_key] =>
[permalink] => http://www.facebook.com/pages/
)
答案 0 :(得分:2)
我认为你必须在查询中添加另一个过滤器:
$query = " SELECT
post_id, created_time, attachment,action_links, privacy
FROM
stream
WHERE
source_id = ".$page_id."
AND viewer_id = ".$user_id."
AND actor_id = ".$actor_id."
AND privacy = ".$your_privacy_filter // Austria, in this case.
LIMIT
50";
也许过滤器必须是这样的:
//...
"AND privacy.description = ".$your_privacy_filter