Php Laravel 5从facebook获取用户信息
我正在尝试使用带有Laravel 5的Facebook PHP sdk从Facebook获取用户id。我对我得到的错误做了很多搜索,但没有一个答案有用 设置关键点:Php Laravel 5从facebook获取用户信息,php,facebook,laravel,facebook-php-sdk,laravel-5,Php,Facebook,Laravel,Facebook Php Sdk,Laravel 5,我正在尝试使用带有Laravel 5的Facebook PHP sdk从Facebook获取用户id。我对我得到的错误做了很多搜索,但没有一个答案有用 设置关键点: use Facebook\FacebookSession; FacebookSession::setDefaultApplication('XXX' , 'XXX'); 重定向到Facebook: public function getFacebook() { $helper = new FacebookHandler(u
use Facebook\FacebookSession;
FacebookSession::setDefaultApplication('XXX' , 'XXX');
重定向到Facebook:
public function getFacebook()
{
$helper = new FacebookHandler(url('settings/set_facebook'));
return Redirect::to($helper->getLoginUrl());
}
获取信息:
public function setFacebook()
{
try{
$session = new FacebookSession(\Session::get('state'));
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObject = $response->getGraphObject()->asArray();
dd($graphObject);
} catch(Exception $e){
dd(
$e->getMessage(),
$e->getCode(),
$e
);
}
}
Laravel会话的代码:
use Facebook\FacebookRedirectLoginHelper;
use Illuminate\Support\Facades\Session;
class FacebookHandler extends FacebookRedirectLoginHelper
{
protected function storeState($state)
{
Session::put('state', $state);
}
protected function loadState()
{
return $this->state = Session::get('state');
}
}
输出:
"Invalid OAuth access token."
190
FacebookAuthorizationException {#215 ▶}
我做错了什么?使用。它支持facebook、twitter、google+和github。
而且易于使用。我通过删除setFacebook()并将getFacebook()更新为以下内容,解决了这个问题: 当然,您需要自定义错误处理
$helper = new FacebookHandler(url('settings/get_facebook'));
try {
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $e ) {
dd($e);
} catch( Exception $e ) {
dd($e);
}
if (isset($session))
{
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
dd($user_profile);
} else {
return Redirect::to($helper->getLoginUrl());
}