目标非常简单,但没有关于如何检索与当前运行的应用程序关联的用户令牌的示例。
我的目标是使用我在 facebook 中创建的应用程序拉出我的公共 facebook 页面(具有完全开放访问权限的业务页面),我创建该应用程序只是为了获取应用程序 ID 和机密,以便我可以让 PHP 执行数据请求和然后在我的主页上对其进行迭代。非常简单,但网站上的文档主要处理我无意做的 facebook 登录。我只想从网站上的公共业务页面获取我的提要。
这就是我认为 Facebook 大错特错的地方。到目前为止,这是我的代码,可以正确查询但生成一个空数据集:
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$app_token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id
. "&client_secret=" . $app_secret
. "&grant_type=client_credentials";
$response = file_get_contents($app_token_url);
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/202978003068170/feed?access_token=".$params['access_token'];
$app_details = json_decode(file_get_contents($graph_url), true);
echo '<pre>';
var_dump($app_details);
echo '<pre>';
现在让我澄清一下实际access_token
价值是什么,因为 Facebook 对此含糊不清。实际上有两种类型的访问令牌,我创建的应用程序具有这两种类型,如果您登录并使用您的应用程序,您可以在这里看到:
https ://developers.facebook.com/tools/access_token/
主要问题是access_token
oauth 从上面的代码返回的值是“App Token”,它查询用户配置文件数据没有问题(这有点吓人),但是当我尝试查询我的公共业务页面时返回空白数据{"data":[]}
我有启用所有权限。经过一周尝试不同的方法并将我的头撞在桌子上并且仅通过第三方信息源找到部分救赎后,我才弄清楚这两者之间的区别。
我在这里遇到了一篇文章,说我必须进行第二次 OAUTH 查询以提取应用程序的“用户令牌”(我已经从 fbook 中的令牌调试器测试了与应用程序令牌关联的用户令牌并且它可以工作)到Facebook,但该查询包含什么。
请有人帮忙。这应该不是那么困难,我不希望用户使用 fbook 登录我的网站。我只想在我的商业网站上显示商业事件、提要和图片。
谢谢