使用已经生成的访问令牌登录Facebook的图形API?



我们有一个Facebook应用程序,通过它,我们将帖子和图像从我们公司的Facebook帐户提取到一个界面上,供以后使用,使用旧的API。公司中的几个人使用此界面。

我们正在升级到新的图形 API,由于有很多人使用该界面,我想在后台从单个用户的登录凭据生成访问令牌,而无需整个登录 URL 和窗口。我们正在使用 PHP SDK。

例如,是否可以在单击按钮时以编程方式登录用户,然后继续 API 调用?还是每个用户都需要使用弹出窗口登录才能导入帖子?我假设我还需要发送登录凭据和权限数组......

我试图在这里添加access_token

$facebook = new FacebookFacebook([
'app_id' => {app-id},
'app_secret' => {app-secret} ,
'default_access_token' => {access-token} ,
'default_graph_version' => 'v5.0',
]);
// Can you get around the redirect with JavaScript helper here instead?
$helper = $facebook->getRedirectLoginHelper(); 
try {
$accessToken = $helper->getAccessToken();
} catch(FacebookExceptionsFacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (!isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized';
} else {
// This is the response I always get sending in the access_token
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}

没有用户交互的自动登录是不可能的,这将是一个主要的安全问题。您必须以已登录的用户身份进行授权。

您只能以管理页面并存储页面的用户身份创建扩展页面令牌 - 该令牌的有效期约为 60 天。

或者,您可以申请主页公开内容访问,只需使用应用访问令牌 - 也就是说,如果主页不受年龄或位置的限制。

最新更新