Facebook Graph API搜索未登录用户
我正在尝试为具有特定搜索项的组发出Facebook Graphp API搜索调用。 重要的事实是搜索组,不仅从该词开始,而且还搜索组搜索组中的词。所以这样的事情。Facebook Graph API搜索未登录用户
FQL => SELECT * FROM基团,其中组名LIKE '%术语%'
据我所知,这是不可能在FQL。因此我必须使用Graph API搜索。
http://developers.facebook.com/docs/api#search
但我必须发出即使用户没有登录第通话。这可能是 或者是否有可能在没有用户交互(不显示表单)的情况下使用一些curl调用登录默认用户?
如果有一个简单的解决方案(例如使用FQL),请告诉我。
我使用图形API而不是使用FQL,所以我不能100%确定差异等等等等。但是我尝试的方法是使用cURL脚本http://developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application来获得auth令牌,那么您必须将接收到的auth令牌添加到图形参数中,就像您在网站上看到的那样(在图中测试api的一个好方法是单击登录到Facebook后给出的示例赞或查询,然后复制api代码和打破这样的过程[测试你可以从查询中得到你想要的结果,测试你可以得到你的认证令牌然后结合],以便你知道哪些部分是'问题'部分)。
如果失败,请向下滚动到“使用java脚本进行单点登录”并查看他们用于从facebook cookie获取身份验证令牌的代码,我注意到您可能能够访问来自FQL的cookie。
我希望这有些帮助!请告诉我,如果这些想法不起作用。
Jon
使用PHP-SDK 3.1.1,不需要auth或access_token。 此示例假设您已在页面上安装了PHP-SDK。
- 使用形式发布问题页面,论据GET和POST 都包括在内。这将从搜索https://graph.facebook.com/search?q=facebook&type=group返回数组
<?php
$q = urlencode($_GET['qs']);
if(!$_GET['qs']){
$q = urlencode($_POST['qs']);
if(!$_POST['qs']){
$q = "facebook";
}
}
$MEsearch = $facebook->api('/search?q='.$q.'&type=group');
foreach ($MEsearch as $key=>$value) {
$i=1;
foreach ($value as $fkey=>$fvalue) {
$i++;
if($fvalue[id]=="h"){
}else{
$groupname = $fvalue[name];
$groupid = $fvalue[id];
$groupversion = $fvalue[version];
echo $groupname. '<br />';
echo $groupid. '<br />';
echo $groupversion. '<br /><hr />';
}
};
};
?>
用法示例http://shawnsspace.com/plugins/photofeed.php单击底部获取插件和使用搜索框在行动中看到此示例。