我需要在Facebook API中使用访问令牌吗?

时间:2011-11-08 15:37:18

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

根据我的理解,如果我需要向facebook API发出请求,我需要传递访问令牌。

但是,我刚刚看了一下Facebook官方的例子 - 他们没有提供包含访问令牌来提出请求?

$user_profile = $facebook->api('/me');

我何时何地需要使用访问令牌?

3 个答案:

答案 0 :(得分:3)

您提供的示例是使用PHP-SDK。它会根据需要自动附加access_token

您只需要在权限上下文中担心令牌,具体取决于您正在执行的操作。如果您需要权限/令牌,文档会告诉您一个示例是user doc。您无需访问前7个字段的权限,但为了查看用户列出的languages,您需要申请user_likes权限。

如果您正在直接向图表发出cURL调用,那么您需要记住将令牌附加到该网址。

答案 1 :(得分:0)

我不知道在PHP中确切使用图形API(我使用C#) - 但我希望在创建存储在$ facebook变量中的对象时确实需要访问令牌。

答案 2 :(得分:0)

在文档中,您在初始化$ facebook时设置了应用令牌信息。

  require_once("facebook.php");

  $config = array();
  $config[‘appId’] = 'YOUR_APP_ID';
  $config[‘secret’] = 'YOUR_APP_SECRET';
  $config[‘fileUpload’] = false; // optional

  $facebook = new Facebook($config);

这是指向详细信息的链接:PHP SDK Overview

如果您需要获得Facebook帐户某些部分的许可,并且没有默认设置,例如您想要查看他们的朋友或在他们的墙上发帖,您可以通过登录请求该权限

$params = array(
    scope => 'read_stream, friends_likes',
    redirect_uri => 'https://www.myapp.com/post_login_page'
);

$loginUrl = $facebook->getLoginUrl($params);

范围来自permissions page。这只是您的应用所需权限的逗号分隔列表。 redirect_uri是Facebook将返回的页面上的URL,因此您可以捕获经过身份验证的令牌和验证。