获取访问令牌并订阅实时更新php

时间:2011-12-12 21:21:43

标签: facebook oauth facebook-php-sdk facebook-access-token

我正在开发一个我需要订阅facebook实时更新的应用程序。不幸的是,我在尝试执行订阅代码时遇到错误。错误如下:

  

致命错误:未捕获OAuthException:(#100)参数对象是   需要在/var/www/** /php-sdk/base_facebook.php投放在线   1039

我的代码如下:

$parameters = array();
$parameters[scope] = '****';
$parameters[redirect_uri] = '*****';

$config = array();
$config['appId'] = '111111111111111111';
$config['secret'] = '*****************';
$facebook = new Facebook($config);

$user_id = $facebook->getUser();
if($user_id)
{
$user['access_token'] = $facebook->getAccessToken();


$sub_param = array('access_token' => $user['access_token'],
            'object' => 'user',
            'fields' => 'feed',
            'callback_url' => $parameters[redirect_uri].'callBackUrl.php',
            'verify_token' => '********'
            );
    $newSubs = $facebook->api('/'.$config['appId'].'/subscriptions', 'POST',  $param); 

}
else
{
    $loginUrl = $facebook->getLoginUrl($parameters);
    echo "<script> top.location.href='" . $loginUrl . "'</script>";
}

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您没有在帖子正文中发送任何参数(或者如果您传递类似json编码的对象而不是postfields),则会收到该错误。

你的意思是创建一个名为$ sub_param的数组,但是然后将$ param传递给$ facebook-&gt; api?

答案 1 :(得分:1)

要订阅facebook实时更新,您需要一个应用程序访问令牌而不是用户访问令牌。

请参阅Facebook开发博客 - http://developers.facebook.com/blog/post/2012/01/31/how-to--subscribing-to-data-changes-using-the-real-time-updates-api/

以下链接也很有帮助。 RTU教程 - http://www.fb-developers.info/tech/fb_dev/tutorial/bytopic/realtime_upd_01.php