Facebook SDK - 以编程方式获取访问令牌

时间:2015-11-17 01:36:35

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

我有一个用PHP制作的Web应用程序,当我提交一个特定的表单时,我想发布到我的Facebook粉丝页面。 您可以看到以下代码:

{
  "name": "project",
  "version": "0.0.1",
  "dependencies": {
    "angular-messages": "^1.4.2",
    "angular-aria": "^1.4.2",
    "jquery": "^1.11.3",
    "angular": "^1.4.2",
    "jquery-ui": "1.11.4"
  }
}

使用该代码我 $appId = "..."; $appSecret = "..."; $version = "v2.5"; $fb = new Facebook\Facebook([ 'app_id' => $appId, 'app_secret' => $appSecret, 'default_graph_version' => $version, ]); $accounts = $fb->get("/me/accounts"); $pages = $accounts->getGraphEdge()->asArray(); FacebookSDKException 我还没有找到一种方法来使用https://developers.facebook.com/tools/explorer以编程方式生成访问令牌。 我的作曲家:

You must provide an access token.

如何以编程/自动方式获取访问令牌?或者你建议用什么方法?

1 个答案:

答案 0 :(得分:2)

这就是我所做的。 首先,请使用JS SDK here

的代码

如果response.status === connected(在代码中找到该表达式),则使用以下代码获取访问令牌:

 var accessToken = response.authResponse.accessToken;

然后重定向到PHP代码所在的页面,并在url中附加access_token ...就像这样:

  window.location = "http://localhostfb_test.php?access_token="+accessToken;

在服务器中现在使用这样的令牌。

$user_profile = $fb->get('/me',$_GET['access_token']);

here

令牌是便携式部分中,明确提到令牌可以从客户端发送到服务器...... 这就是我在这里做的