我正在用 AMFPHP 开发一个 Facebook APP。我让 AMFPHP 和 Facebook SDK 工作,我的问题是,当我通过 AMFPHP 网关调用服务以访问将连接到 FB 并返回 UID 的服务时,例如,我得到一个空值。我的猜测是我做错了将 AMFPHP 服务连接到 FB 平台。
这是 gateway.php
<?php
define("PRODUCTION_SERVER", false);
include "libraries/amfphp/globals.php";
include "libraries/amfphp/core/amf/app/Gateway.php";
$gateway = new Gateway();
$gateway->setClassPath("./services");
$gateway->setClassMappingsPath("./services/vo");
$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1");
$gateway->setErrorHandling(E_ALL ^ E_NOTICE);
if(PRODUCTION_SERVER)
{
$gateway->disableDebug();
$gateway->disableStandalonePlayer();
}
$gateway->enableGzipCompression(25*1024);
$gateway->service();
?>
这是测试服务:
<?php
require_once("../libraries/facebook.php");
class Test
{
public function uid()
{
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
'cookie' => false,
));
$session = $facebook->getSession();
return $facebook->getUser();
}
}
任何人都知道我可能做错了什么?
PS:我跳过了服务类中的登录和权限验证,假设用户已经登录并拥有必要的权限。