我将facebook登录令牌从ember-cli传递到我的laravel服务器以注册/登录我的用户,但是我遇到了这个错误。
{"错误":{"输入":" Facebook \ FacebookAuthorizationException","消息":"活动访问必须使用令牌来查询有关当前用户的信息。"," file":" C:\ xampp \ htdocs \ LoginApp \ vendor \ facebook \ php-sdk-v4 \ src \ Facebook的\ FacebookRequestException.php""线" 134}}
这是我的功能
public function authorizeFacebookUser() {
$facebook_token = Input::get('facebook_access_token');
FacebookSession::setDefaultApplication('xxxxxxxx', 'xxxxx');
$session = new FacebookSession((string) $facebook_token);
if ($session) {
// have session
try {
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
echo "Name: " . $user_profile->getName();
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
}
答案 0 :(得分:0)
使用access_token创建会话后,您应该对其进行验证以确保其正确并正常工作:
try {
if ( !$session->validate() ) {
$session = null;
}
} catch ( Exception $e ) {
// catch any exceptions
$session = null;
}
然后,您可以进行API调用以获取用户的个人资料信息。希望上面的代码会显示与access_token相关的任何错误。