【发布时间】:2018-02-09 16:16:27
【问题描述】:
尝试让 Facebook PHP SDK 在 Laravel 5.5 上运行,并安装本地 XAMPP(主机名:laravel.dev)
Facebook 应用程序设置正确,通过 Facebook 登录,可以登录。 $fbobject->getRedirectLoginHelper() 显然返回成功,但是随后尝试获取 accessToken 会导致:
错误:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Class 'Facebook\Helpers\Session' not found
控制器代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Session;
use Facebook\Facebook;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$fb = new \Facebook\Facebook([
'app_id' => '11111111111111111',
'app_secret' => '1111111111111111111111111111111',
'allowSignedRequest' => false,
'default_graph_version' => 'v2.10',
'default_access_token' => '1111111111111|1111111111111111111111'
]);
$helper = $fb->getRedirectLoginHelper();
$accessToken = $helper->getAccessToken();
$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://laravel.dev/home', $permissions);
$passdata = array(
'loginUrl' => $loginUrl,
);
return view(('home.test'), $passdata);
}
}
我也尝试了 SammyK Laravel 安装,但也产生了同样的错误。
【问题讨论】:
-
已尝试链接文章中的解决方案并没有解决问题,但请注意链接文章是 PHP 而不是 Laravel。
-
听起来您正在尝试使用为与 PHP SDK v4 和 v5 版本一起工作而编写的代码......后者不再有这样的会话类。
标签: php laravel facebook-graph-api facebook-php-sdk