2

使用 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 都没有和我共同的朋友。它们显示在网络结果中,但不在图表中。

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

4

2 回答 2

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>';

示例:

// init sdk, sample coming
于 2012-12-18T19:55:15.820 回答
0

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

只需添加 access_token=$token ,您将在您的帐户中获得搜索结果。

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

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

于 2012-12-20T21:35:32.577 回答