Php facebook getLoginUrl()什么都不做
我不确定问题是什么,我知道FB的文档不是很好,但由于一些网站纠正了FB的错误,我停止了错误。但是当我把getLoginUrl()放在页面上,就像它所建议的那样,我什么也得不到。当我什么都不说的时候,我指的是一页空白 以下是测试脚本(删除了应用程序和密码):Php facebook getLoginUrl()什么都不做,php,facebook,Php,Facebook,我不确定问题是什么,我知道FB的文档不是很好,但由于一些网站纠正了FB的错误,我停止了错误。但是当我把getLoginUrl()放在页面上,就像它所建议的那样,我什么也得不到。当我什么都不说的时候,我指的是一页空白 以下是测试脚本(删除了应用程序和密码): define('FACEBOOK_SDK_V4_SRC_DIR','/FACEBOOK'); 需要_一次('Facebook/FacebookSession.php'); 需要_一次('Facebook/Facebook重定向loginhel
define('FACEBOOK_SDK_V4_SRC_DIR','/FACEBOOK');
需要_一次('Facebook/FacebookSession.php');
需要_一次('Facebook/Facebook重定向loginhelper.php');
需要_一次('Facebook/FacebookRequest.php');
需要_一次('Facebook/FacebookResponse.php');
只需_一次('Facebook/FacebookSDKException.php');
需要_一次('Facebook/FacebookRequestException.php');
需要_一次('Facebook/Facebook authorizationexception.php');
需要一次_('Facebook/GraphObject.php');
使用Facebook\FacebookSession;
使用Facebook\FacebookRedirectLoginHelper;
使用Facebook\FacebookRequest;
使用Facebook\FacebookResponse;
使用Facebook\FacebookSDKException;
使用Facebook\FacebookRequestException;
使用Facebook\FacebookAuthorizationException;
使用Facebook\GraphObject;
FacebookSession::setDefaultApplication('app number','secret number');
//FACEBOOK登录资料
$helper=新的FacebookRedirectLoginHelper('http://www.prayerpond.com/index.php' );
试一试{
$session=$helper->getSessionFromRedirect();
}捕获(FacebookRequestException$ex){
//当Facebook返回错误时
}捕获(例外$ex){
//验证失败或其他本地问题时
}
?>
如果有帮助,当我尝试在我的实际网页上回显结果时,我会得到以下错误:
致命错误:对非对象调用成员函数getLoginUrl()
在
现在我突然发现了这个错误:
致命错误:未捕获异常“Facebook\FacebookSDKException”
中的消息“会话未激活,无法存储状态。”
/home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php:254
堆栈跟踪:#0
/home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php(97):
Facebook\FacebookRedirectLoginHelper->storeState('da3d6565ec97ed5…'))
1/home/wiseman/public_html/test.php(77):Facebook\Facebook重定向loginhelper->getLoginUrl()#2{main}
在/home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php中
在线254
看起来我忘了在测试页面上放置session_start()。没有解释我在实际页面上出现错误的原因,但至少它在测试页面上工作。看起来您的
$helper
对象没有正确初始化。。。将echo$ex->getMessage()
放入catch
块中,查看是否有任何错误将session\u start()
添加到脚本的开头
define('FACEBOOK_SDK_V4_SRC_DIR', '/facebook');
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.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;
FacebookSession::setDefaultApplication('app number', 'secret number');
// FACEBOOK LOGIN STUFF
$helper = new FacebookRedirectLoginHelper( 'http://www.prayerpond.com/index.php' );
try {
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
// When Facebook returns an error
} catch( Exception $ex ) {
// When validation fails or other local issues
}
?>
<html>
<head>
</head>
<body>
<?PHP echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>'; ?>
</body>
</html>