我从Github下载了PHP SDK(https://github.com/facebook/facebook-php-sdk)在我的服务器上,但无法让example.php工作:
- 当我在Safari中打开example.php时,我得到-你没有连接
- 我点击登录链接
- 我输入用户并传递到Facebook
- 浏览器重定向回我的example.php-有"state"和URL中的"代码"参数
- example.php仍然显示"您未连接"(这是我问题的本质)
- 如果我添加:
print $facebook->getAccessToken();
,它将打印Access代币(!!!)
所以我的问题是,example.php的问题是什么?如果我有来自Facebook的访问令牌,为什么$facebook->getUser()
不返回?
如何让example.php工作,这样我就可以继续开发自己的逻辑了?
PS:同时这里的PHP代码示例:https://developers.facebook.com/docs/authentication/工作得很好,所以看起来我对Github的php-sdk有问题。。。Github库是稳定的,还是正在进行中,不能用于生产?
您下载了哪个版本的PHP SDK。PHP SDK 2.0版存在此问题。
$facebook->getUser()
不返回任何内容。
这在PHP SDK 3.0中得到了解决。下载版本3并尝试使用它。
好的,明白了。。。在你创建一个Facebook应用程序几个小时后,你会从API得到相当奇怪的结果。example.php现在似乎没有任何变化——我真的相信这是API服务器的错,cz代码现在肯定有效。
示例脚本在初始化facebook对象时不添加baseurl参数。我还花了几个小时试着调试同样的东西。js的例子起了作用。在那之后,我添加了baseurl,它就工作了。
$facebook = new Facebook(array(
'appId' => '406058216186755',
'secret' => 'adsaqer4sdfsdgfgfg21341324324',
'baseurl' => 'http://ironhide.maanas.co/oauth/facebook.php'
));
您确定使用了:echo$facebook->getUser()吗?
我建议您:http://developers.facebook.com/docs/authentication/
使用PHP SDK v3,v2被窃听了!
祝好运