使用 php sdk 在 facebook 中获取访问令牌时出错
Posted
技术标签:
【中文标题】使用 php sdk 在 facebook 中获取访问令牌时出错【英文标题】:Error to get the access token in facebook using php sdk 【发布时间】:2017-04-14 10:33:14 【问题描述】:我正在使用的代码:
$fb = new Facebook\Facebook([
'app_id' => 'app-id',
'app_secret' => 'app-secret',
'default_graph_version' => 'v2.6',
]);
$helper = $fb->getCanvasHelper();
try
$accessToken = $helper->getAccessToken();
catch(Facebook\Exceptions\FacebookResponseException $e)
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
catch(Facebook\Exceptions\FacebookSDKException $e)
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
if (! isset($accessToken))
echo 'No OAuth data could be obtained from the signed request. A user has not authorized your app yet.';
exit;
// Logged in
echo '<h3>Signed Request</h3>';
var_dump($helper->getSignedRequest());
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());
输出: 这仅表明:无法从签名请求中获取任何 OAuth 数据。用户尚未授权您的应用
我正在使用我的页面的app_id and app_secret
。
【问题讨论】:
这意味着您应该在您的 Facebook 页面上自动化您的应用程序,以便允许在您的 Facebook 帐户中执行任何操作。详情在 Facebook 帮助中:facebook.com/help/262314300536014 输出本身显示解决方案,授权你的应用 你能给我指导授权吗? 我应该提到应用程序域,那是什么?? @SergeyLebedev,我没有从你的文档中得到任何帮助。 【参考方案1】:您使用的示例“(...) 涵盖了从 APP CANVAS (...) 的上下文中获取访问令牌和签名请求”。 https://developers.facebook.com/docs/php/howto/example_access_token_from_canvas
应用画布的上下文意味着您的应用嵌入在 Facebook (iframe) 上。 https://***.com/a/41669757/2911960
我假设您想在您的网站上使用 API。然后你正在寻找这个: https://developers.facebook.com/docs/php/howto/example_facebook_login
【讨论】:
以上是关于使用 php sdk 在 facebook 中获取访问令牌时出错的主要内容,如果未能解决你的问题,请参考以下文章
Facebook sdk 使用 php:如何获取已连接用户的用户 ID
Facebook PHP SDK - 无需 Facebook 连接即可获取我的应用用户的用户名和个人资料图片