使用已生成的访问令牌登录 Facebook 的 Graph API?
Log in to Facebook's Graph API with an already-generated access token?
我们有一个 Facebook 应用程序,通过它我们可以从我们公司的 Facebook 帐户中提取帖子和图片到一个界面供以后使用,使用旧的 API。公司有好几个人用这个界面
我们正在升级到新的 Graph API,由于有很多人使用该界面,我想在后台从单个用户的登录凭据生成访问令牌,而不是整个登录URL 和 window。我们正在使用 PHP SDK。
是否可以通过单击按钮以编程方式登录用户,例如,然后继续 API 调用?还是每个用户都需要使用弹出窗口 window 登录才能导入帖子?我假设我还需要发送登录凭据和权限数组...
我尝试在此处添加 access_token
:
$facebook = new Facebook\Facebook([
'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(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $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 天。
或者,您可以申请 Page Public Content Access 并仅使用 App Access Token - 也就是说,如果主页不受年龄或位置限制。
我们有一个 Facebook 应用程序,通过它我们可以从我们公司的 Facebook 帐户中提取帖子和图片到一个界面供以后使用,使用旧的 API。公司有好几个人用这个界面
我们正在升级到新的 Graph API,由于有很多人使用该界面,我想在后台从单个用户的登录凭据生成访问令牌,而不是整个登录URL 和 window。我们正在使用 PHP SDK。
是否可以通过单击按钮以编程方式登录用户,例如,然后继续 API 调用?还是每个用户都需要使用弹出窗口 window 登录才能导入帖子?我假设我还需要发送登录凭据和权限数组...
我尝试在此处添加 access_token
:
$facebook = new Facebook\Facebook([
'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(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $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 天。
或者,您可以申请 Page Public Content Access 并仅使用 App Access Token - 也就是说,如果主页不受年龄或位置限制。