栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Facebook Graph API获得所有用户及其状态

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Facebook Graph API获得所有用户及其状态

尽管新的Batch
API
可以满足您的要求,但我无法使其正常运行。看来它仍然是越野车。

现在,使用来实现此目的

fql.multiquery
,这是一个简单的示例:

<?php$app_id = "APP_ID";$app_secret = "APP_SECRET"; $my_url = "REDIRECT_URL";$pre = $_REQUEST["pre"];if(empty($pre)) {$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="   . $app_id . "&redirect_uri=" . urlenpre($my_url);echo("<script> top.location.href='" . $dialog_url   . "'</script>");}$token_url = "https://graph.facebook.com/oauth/access_token?client_id=". $app_id . "&redirect_uri=" . urlenpre($my_url) . "&client_secret=" . $app_secret . "&pre=" . $pre;$access_token = file_get_contents($token_url);$queries = '{"query1":"SELECt uid,name FROM user WHERe uid IN(SELECt uid2 FROM friend WHERe uid1=me())","query2":"SELECt uid,message FROM status WHERe uid IN (SELECt uid FROM #query1)"}';$multiquery = "https://api.facebook.com/method/fql.multiquery?queries=" . urlenpre($queries) . "&format=json&" . $access_token;$res = json_depre(file_get_contents($multiquery), TRUE);$final = array();foreach( $res[1]['fql_result_set'] as $i=>$message_arr ) {    foreach( $res[0]['fql_result_set'] as $j=>$friend ) {        if( $message_arr['uid'] == $friend['uid'] ) { $friend['message'] = $message_arr['message']; $final[] = $friend; break;        }    }}print_r($final);?>

在这里,我们在第一个查询中获取用户ID和名称,并从第二个查询中获取状态消息。
现在,这将在第一个查询或第二个查询中返回更少的结果!因为:

  • 朋友过去30天可能没有发布状态消息,因此该消息不会出现在第二个查询中(第二个查询的结果集较少)。
  • 一个朋友可能在过去30天内发布了多个状态消息(它 应该 全部返回-最多50个!!)我不确定,但是如果是这种情况,则第二个将/应该返回更多结果比第一个 因此,我仅收到 一条 消息(请注意
    break
    )。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号