自2011年8月以来,我们一直在使用Facebook php sdk来进行我们的oauth注册和验证。上个月某个时候它破了。我打破了我的意思是$ me = $ facebook-> api('/ me'); 调用突然开始返回一个空白数组 - 没有错误抛出任何东西。 几个月来,系统的这一部分没有任何变化。
我把这作为迁移到v3.1.1的机会但是没有效果。
我们在jsp / Tomcat安装中运行一个php页面,所以我们使用的是quercus。我运行这个普通的PHP并得到相同的结果。
由于我没有看到一般的警报,我认为它必须是我们网站上的东西,但我无法隔离任何东西。任何的想法?这是php代码(我们有一个用户,因此我们在AUTHENTICATED代码块中 - $ me数组不包含任何内容)
<?php
$request = quercus_servlet_request();
$page = $request->getAttribute("page");
include_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => $request->getAttribute("appId"),
'secret' => $request->getAttribute("secretKey"),
'cookie' => true
));
if(is_null($facebook->getUser())) {
$url = $facebook->getLoginUrl(array('next' => $request- >getAttribute("canvasUrl"),'req_perms' => 'publish_stream'));
$page->Log("LOGIN URL",$url);
echo "<script type='text/javascript'>window.top.location.href = '$url';</script>";
exit;
} else {
try {
$page->Log("AUTH","AUTHENTICATED");
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$page->Log("UID",$uid);
$page->Log("ME array",print_r($me, true));
$request->getSession()->setAttribute("authenticated","T");
$request->getSession()->setAttribute("fbuid",strval($uid) );
$request->getSession()->setAttribute("fname",$me['first_name']);
$request->getSession()->setAttribute("lname",$me['last_name']);
$request->getSession()->setAttribute("accesstoken",$facebook- >getAccessToken());
//$page->Log("fbuid",$request->getSession()->getAttribute("fbuid"));
.......
答案 0 :(得分:1)
现在facebook正在世界各地休息一段时间。您可能会看到一些奇怪的问题。
但您应该考虑使用图形API资源管理器here测试您的应用,并确认问题在您身边或Facebook上
在右上方选择您的应用并查询API。
对我来说它的工作正常(印度)。