从一个域登录,然后使用php sdk 3.1.1在另一个域中获取facebook对象

时间:2012-02-29 13:49:48

标签: facebook cross-domain facebook-php-sdk

我正在登录并从一个域(localhost)

进行身份验证过程
$config = array(
    appId'  => $APP_ID,
    'secret' => $APP_SECRET
);
$facebook = new Facebook($config);
$currentUserId = $facebook->getUser();

这很好用,我得到一个访问令牌和用户ID。 之后。从浏览器我正在对远程域上的php文件进行发布操作 在远程php我使用相同的代码相同的APP_ID和相同的APP_SECRET

$config = array(
   'appId'  => $APP_ID,
   'secret' => $APP_SECRET
);
$facebook = new Facebook($config);
$currentUserId = $facebook->getUser();

这不!工作并获得$ currentUserId = 0 那是我的问题

我可以使用(但不想):

 $facebook->setAccessToken($at);

使用acsess令牌,我从localhost域获得它确实有效,我得到了用户ID

在较旧的sdk 2.0中,我见过这个函数setBaseDomain 有没有办法在3.1.1中使用它?

1 个答案:

答案 0 :(得分:2)

这就是我的工作 - 所以当你在进行API调用时向access_token传递对其他域的请求时,请执行以下操作 -

$config = array(
   'appId'  => $APP_ID,
   'secret' => $APP_SECRET
);
$facebook = new Facebook($config);

$args['access_token'] = $_POST['token'] // or $_GET[];
$me = $facebook->api('/me', 'get', $args);
print_r($me);

那么接下来就说FB我知道请求是来自不同的服务器,但是我有一个有效的令牌,请接受这个牺牲来纪念扎克伯格,让我做点什么。它会接受你可以随意做的事情:)