我正在尝试创建一个用户必须使用Facebook登录的应用程序。我正在使用laravel 4框架。由于Facebook不允许在localhost中使用开发,我已经在Heroku中部署了我的代码并在那里进行了尝试。应用程序域和站点URL没有问题。我已成功进入重定向网址。在我的代码中,重定向网址是getFacebooklogin()
。
但问题在于重定向网址。我无法使用图形api显示用户信息。 Heroku没有显示错误是什么。它只是说有一个错误。我检查了Heroku日志。我还没有发现错误是什么。
这是我的控制器的代码。
<?php
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
class SiteController extends BaseController{
protected $layout = 'layouts.master';
public function __construct(){
FacebookSession::setDefaultApplication('id','secret');
}
public function getIndex(){
$this->layout->content = View::make('sites.home');
}
public function getFacebooklogin(){
$helper = new FacebookRedirectLoginHelper(url('site/facebooklogin'));
$session = $helper->getSessionFromRedirect();
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObject = $response->getGraphObject();
dd($graphObject);
}
}
以下是我的观点代码
<?php
session_start();
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
$helper = new FacebookRedirectLoginHelper(url('site/facebooklogin'));
?>
<a href="<?php echo $helper->getLoginUrl();?>">Sign in with Facebook</a>
这是我项目的link。