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。

  1. 使用形式发布问题页面,论据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单击底部获取插件和使用搜索框在行动中看到此示例。