Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-SDK重定向太多_Php_Facebook - Fatal编程技术网

PHP-SDK重定向太多

PHP-SDK重定向太多,php,facebook,Php,Facebook,我正在使用Facebook的,并在我的本地主机上得到了这个示例。但是,当在服务器上构建脚本时,脚本会一直忙于从我的脚本重定向到facebook并返回。(错误:Fout 310(网络::错误重定向太多):) 似乎更多的人有这个问题(,)。尽管如此,我还是找不到一个明确的答案 重定向到facebook(回复302): 重定向到mydomain(响应302): 创建此问题的部分代码 ... $facebook = new FacebookApi(array(

我正在使用Facebook的,并在我的本地主机上得到了这个示例。但是,当在服务器上构建脚本时,脚本会一直忙于从我的脚本重定向到facebook并返回。(错误:Fout 310(网络::错误重定向太多):)

似乎更多的人有这个问题(,)。尽管如此,我还是找不到一个明确的答案

重定向到facebook(回复302):

重定向到mydomain(响应302):

创建此问题的部分代码

...            
    $facebook = new FacebookApi(array(
            'appId' => $app->getProperty('apiKey'),
            'secret' => $app->getProperty('secretKey'),
        ));
    $user = $facebook->getUser();
    if (!$user) {    
        header('location: ' . $facebook->getLoginUrl());
        exit;
    }
...
更新:


我排除了这是一个服务器设置。我能够在该服务器上运行原始示例脚本

在应用程序设置中重新检查应用程序
secret
,否则转储会话

<?php print_r($_SESSION); ?>

然后lint令牌返回

很确定不是令牌损坏了就是秘密


如果不是,则是您没有显示的代码。

有时这与禁用的cookie有关。@OlafDietsche不幸的是,这次不是。请检查服务器的错误日志。Facebook SDK确实在那里记录了一些错误消息
getUser()
尝试验证
状态
参数(=反CSRF令牌)是否等于预期值,在某些情况下可能会失败(例如,如果在实例化后调用
$facebook->setAppId()
更改应用ID);它还尝试将
code
参数交换为实际的访问令牌,在某些情况下也可能会失败(例如,如果调用
getUser()
时打开的URL与调用
getLoginUrl()
时的URL不同)。这是当前API中的“FacebookApi”类吗?我还以为是“脸谱”呢?您是否对API进行了其他可能会中断流程的修改?@lanzz日志显示一个错误
[Thu Nov 08 09:48:34 2012][error][client 82.204.37.70]OAuth异常:无效的OAuth访问令牌签名。
我没有更改有关
getUser()
getLoginUrl()
的appId或URL,这是我的*%&N00bish。这个秘密是错误的,从来没有重新检查过:-太愚蠢了!无论如何谢谢你!
...            
    $facebook = new FacebookApi(array(
            'appId' => $app->getProperty('apiKey'),
            'secret' => $app->getProperty('secretKey'),
        ));
    $user = $facebook->getUser();
    if (!$user) {    
        header('location: ' . $facebook->getLoginUrl());
        exit;
    }
...
<?php print_r($_SESSION); ?>