【问题标题】:Facebook Graph search APIFacebook 图形搜索 API
【发布时间】:2015-01-08 14:27:04
【问题描述】:

背景:
我是一个公众人物的雇员,他经常被假冒 Facebook 骗局。我将通过每天使用脚本搜索 facebook 并报告任何新用户和页面以获取他的名字来自动化检查 facebook 是否有新骗局的过程。我正在修改我多年前创建的旧 FB 应用程序以运行该过程。

问题:
我注意到我可以使用我的应用在 facebook 的图形 api 上搜索“页面”,但“用户”返回:“致命错误:未捕获的 OAuthException:请求此资源需要用户访问令牌。" 我认为这是一个权限错误,所以我尝试将具有 (https://developers.facebook.com/tools/explorer) 的所有权限的 &Access_Token= 添加到 URL,但没有成功。

这是我的 PHP 脚本:

require '../src/facebook.php';<BR>

$facebook = new Facebook(array(
'appId' => '**I_removed_this_code**',
'secret' => '**I_removed_this_code**'));

$access_token = $facebook->getAccessToken();

$user = $facebook->getUser();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');<BR>
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

$fb_response = $facebook->api('/search?q=**Public_Figure_Name**&type=page'); //<--change this to user and it doesnt work
print_r(array_values($fb_response));

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案1】:

    基本问题是,只有应用有权访问的用户要么是应用的用户,要么是应用用户的朋友(如果有适当的朋友权限)。

    但是,如果您以您自己的身份使用 SSO 令牌,则“您”将拥有一个用户令牌并可以进行图形搜索。

    PS。我会将此添加为评论,但我的代表不够高。

    【讨论】:

    • 这是很好的信息。谢谢。如果你能给我更多关于“你”代码的信息,我会得到它的工作,我会给你信用
    • 这里是 Facebook 的 User Tokens 身份验证的链接。已经有一段时间了,所以我手边没有任何代码,但是有很多关于如何获取它们的教程。对于您的情况,我将构建一个带有搜索查询/按钮的轻量级登录对话框,而不是使用长期存在的令牌。编辑:我没有意识到这个链接有多难阅读,整个网址是:developers.facebook.com/docs/facebook-login/…
    • 感谢您的回复。我熟悉如何获取令牌,但在代码中使用它,我不熟悉。我尝试将具有 (developers.facebook.com/tools/explorer) 的所有权限的 &Access_Token= 添加到 URL,但没有成功。我猜这一定是不正确的。编辑:理想情况下,我不想每次运行时都重新验证这个自动化过程
    • 在您的帮助下,我发现我需要添加以下代码: if (!$user) { $params = array('redirect_uri' => '_REDIRECT_URL.php','scope' => 'read_stream ,friends_likes,publish_stream,user_photos'); $login_url = $facebook->getLoginUrl($params); echo '登录';出口(); }
    【解决方案2】:

    如果我在 Graph Explorer 中尝试以下操作,它可以正常工作:

    /search?q=Tom%20Cruise&type=user
    

    https://developers.facebook.com/tools/explorer?method=GET&path=search%3Fq%3DTom%2520Cruise%26type%3Duser&version=v2.2

    搜索 API 记录在 https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#search,它准确描述了您的行为(页面搜索和用户搜索之间的区别)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 2015-11-06
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多