Facebook Graph搜索结果与“公共帖子”结果不符?

时间:2012-12-18 19:15:49

标签: php facebook facebook-graph-api facebook-php-sdk facebook-authentication

似乎使用graph.facebook.com获得的结果与您从自己的搜索结果中获得的结果不匹配。

例如: https://graph.facebook.com/search?q=www.mightytrainer.com&type=post&limit=25

https://www.facebook.com/search/results.php?q=www.mightytrainer.com&type=eposts&init=quick&tas=0.07711535459384322

Joe Goodwin或Taryn Higgan都不和我共同生活。它们显示在Web结果中,但不显示在图表中。

我错过了一些基本的东西吗?

2 个答案:

答案 0 :(得分:3)

使用用户访问令牌尝试相同的搜索,结果应该类似于用户隐私设置。

https://graph.facebook.com/search?q=www.mightytrainer.com&type=post&limit=25&access_token=your_user_access_token

图形资源管理器中的示例。

https://developers.facebook.com/tools/explorer?method=GET&path=search%3Fq%3Dwww.mightytrainer.com%26type%3Dpost

请参阅: https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/

php示例:假设php sdk 3.1.1。已安装,并已设置应用程序。

    // init sdk, sample coming
    require './src/facebook.php';
    $facebook = new Facebook(array(
      'appId'  => 'Your App Id Here',
      'secret' => 'Your App Secret Here',
      'cookie' => true, // enable optional cookie support
      ));      
    try { $user = $facebook->getUser(); } catch (FacebookApiException $e) {  }
    // Get the current access token if user.
    if($user){ 
    $access_token = $facebook->getAccessToken(); 
    // in the case of ajax we need to set the access token or will get expired error.
    // Comment out api get token, uncomment session.
    // $access_token = $_SESSION['fb_YourAppIdHere_access_token']; 
    if($access_token){ $facebook->setAccessToken($access_token); }
    };
    // access token usage should be handled by api.
    $api_search = $facebook->api('/search?q=www.mightytrainer.com&type=post');
// print results array  
echo '<pre>';
print_r($api_search);
echo '</pre>';

javascript示例:

// init sdk, sample coming

答案 1 :(得分:0)

facebook graph api怎么知道你是哪个用户? 您必须提供任何有效应用程序的访问令牌!

只需添加access_token = $令牌,即可获得帐户中的搜索结果。

https://graph.facebook.com/search?q=www.mightytrainer.com&type=post&limit=25&access_token=$token

我希望它有所帮助。如果有效,请考虑接受我的回答。