【问题标题】:Facebook PHP SDK v4: isValidRedirect() always return falseFacebook PHP SDK v4:isValidRedirect() 总是返回 false
【发布时间】:2015-01-29 08:40:12
【问题描述】:

我尝试使用最新的 php sdk 在我的网站上开发应用程序。但我总是没有得到正确的会话。然后,我检查了 sdk 文件,发现 isValidRedirect() 返回 false。 我试图更改应用程序设置,但对我不起作用。 各位大侠,请检查附件,哪里错了?

下面是我的代码:

//本地主机/facebook/demo.php

<?php
@session_start();
// added in v4.0.0
// Skip these two lines if you're using Composer
require __DIR__ . '/autoload.php';

//require 'functions.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;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// init app with app id and secret
FacebookSession::setDefaultApplication( 'app_id','app_secrect' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://demo.localhost/facebook/demo.php/' );
$loginUrl = $helper->getLoginUrl();
echo '<hr />';
echo $loginUrl;
echo '<hr />';

try {
    $session = $helper->getSessionFromRedirect();
    // $request = new FacebookRequest( $session, 'GET', '/me' );
    // print_r($request);
} catch( FacebookRequestException $ex ) {
    echo 22;
  // When Facebook returns an error
} catch( Exception $ex ) {
    echo 33;
  // When validation fails or other local issues
}
?>
<a href="<?php echo $helper->getLoginUrl(); ?>">Login with Facebook</a></div>

谢谢。

php 文件地址: demo.localhost/facebook/demo.php

安全画布 URL: demo.localhost/facebook/

网站: 网址: demo.localhost/facebook/ 移动网站网址: demo.localhost/facebook/

取消授权回调 URL: https://demo.localhost/facebook/

【问题讨论】:

标签: php facebook sdk


【解决方案1】:

我今天遇到了同样的问题,我注意到会话中的状态和返回的状态总是不同的。

经过几次谷歌搜索,有人在另一篇文章中提到 (PHP facebook SDK 4.0 login error) 函数 getLoginUrl() 更改状态变量值。正如该帖子和评论中所建议的,您需要将您的$helper-&gt;getLoginUrl() 移到$helper-&gt;getSessionFromRedirect() 之后。它对我有用。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2020-12-27
    • 2014-08-26
    • 2012-08-23
    • 2016-02-26
    相关资源
    最近更新 更多