1

我正在开发一个需要订阅 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>";
}

有谁知道我做错了什么?

4

2 回答 2

1

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

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

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

于 2012-05-11T08:54:47.767 回答
1

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

您是不是要创建一个名为 $sub_param 的数组,然后将 $param 传递给 $facebook->api?

于 2011-12-15T01:09:57.480 回答