fb.php:
ini_set('display_errors','On');
error_reporting(E_ALL);
require_once 'facebook/src/facebook.php';
$facebook = new Facebook( array (
'appId' => '****',
'secret' => '****',
'cookie' => true
)
);
$user = $facebook->getUser();
if ($user) {
var_dump($user);
$logoutUrl = $facebook->getLogoutUrl();
print '<a href="'.$logoutUrl.'">Logout</a>';
}
else {
$loginUrl = $facebook->getLoginUrl();
print '<a href="'.$loginUrl.'">Login</a>';
}
这是我的简单代码;
单击链接并接受权限框后,我将重定向到脚本,并获取此参数:http://mydomain.com/fb.php?state=82e166c6a85fd3b44ad655851f885b73&code=AQCMo6L5z-K5juFl3cojl80KllKQ8JE2iKMaOFSmHhHgAFd_V-BfD8YZwbiKQasNuHSbcc4St-9B2gggwEMygn223u8BVK9zXKctEui-y20rcmydx-uf65sw5v6o4XN3k9Lnvtg0jg7h1C9XGC3S1sW32X65CI6kjbe7GXHICpMsT833wDxG1voS7enq9uYm1MGrp83ceTmKvoKGyn_iYby0#_=_
在发现这些问题后,我发现此链接suddenly, getUser became to return 0.(PHP 3.1.1 SDK),但对我不起作用。
我正在使用PHP Facebook SDK版本3.1.1。
¿有人知道这里发生了什么?
答案 0 :(得分:1)
请重新检查您的设置,包括appId
,secret
并确保应用信息中心上的Sandbox Mode
已停用。
更改网站域后,我遇到了同样的问题。 Altough我正确地更改了request_uri参数并使用新域更新了我的应用程序设置,错误一直显示出来。然后我意识到我的Facebook APP的ID和SECRET ID已经自动更改,没有任何警告!整个事情开始使用新的ID。
一些专家表示,由于沙盒模式,他们也遇到了同样的问题。
在Facebook Developers Apps页面中,确保Sandbox Mode
已停用。
另一个问题是你可以设置的权限范围如下:
$pram = array(
'scope' => 'user_birthday,read_stream',
'redirect_uri' => 'http://domain.com/some_where_else/'
)
$loginUrl = $this->facebook->getLoginUrl($pram);
可能会对你有所帮助。 感谢。