我一直在阅读 Facebook 文档,但我一定遗漏了一些东西,因为我无法理解如何在没有实际登录的情况下获取页面的访问令牌。我正在尝试使用 PHP facebook API 创建一个 PHP 函数,这样当我在我的网站上添加新的故事或教程时,我的网站的应用程序可以自动在我的 facebook 页面上作为页面发布关于它们的简介。
我有这个功能,但只有当我从 Graph API Explorer 获取访问令牌时,虽然访问令牌在大约一个小时后过期。我似乎无法弄清楚如何以编程方式获取页面的 access_token 并每次从我的 PHP 脚本中查询一个新的,这样它们就不会过期并且不需要用户交互。
function post_to_facebook($title, $message, $link, $picture) {
require '../facebook/src/facebook.php';
$page_token = 'xxx';
$page_id = 'xx';
$facebook = new Facebook(array(
'appId' => '<app_id>',
'secret' => '<app_secret>',
'cookie' => false,
));
$facebook->setAccessToken($page_token);
try {
$ret_obj = $facebook->api('/'.$page_id.'/feed', 'POST', array(
'caption' => $title,
'link' => $link,
'message' => $message,
'picture' => $picture
));
} catch(FacebookApiException $e) {
error_log($e->getType());
error_log($e->getMessage());
return false;
}
return true;
}
有人可以解释我如何在无需通过图形 api explorer 手动查找或让用户登录的情况下检索访问令牌吗?