2

我已经涵盖了基本思想(我认为),但似乎无法使用 Facbook 提供的 PHP 类成功发布任何内容。鉴于这个例子,任何人都可以看到任何可能是问题的地方吗?

// Initialize Facebook API
$fb = new Facebook(array(
    'appId' => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_SECRET,
    'cookie' => true
));

if($fb->getSession()) {
    $res = $fb->api('/me/feed/', 'post', array(
        'message' => 'test message',
        'description' => 'testing'
    ));
}

var_dump($res);

当我输出 $res 的内容时,我得到一个面部手掌 NULL。有任何想法吗?如果上面看起来正确,任何人都可以提出一些我可能会尝试调试的东西吗?

4

1 回答 1

4

在您的应用程序中,当您检查用户是否登录 Facebook 时,请确保您确认您的应用程序请求了发布到用户墙上的“特殊权限”。您可以通过如下修改代码来做到这一点:

$url = $this->facebook->getLoginUrl(array('canvas' => 1, 'fbconnect' => 0, 'req_perms' => 'user_status,publish_stream'));

请注意 req_perms 键被设置为包括“publish_stream”在内的值列表。如果您没有此权限,则提要调用将失败。

此外,无论这是否真的是问题,您都可以使用 try-catch 块包装您的 Facebook 请求,以捕获 FacebookApiException 类型的异常,以便在出现错误时获取更多信息。例如:

        try {
            $uid = $this->facebook->getUser();
            $me = $this->facebook->api('/me');
        } catch (FacebookApiException $e) {
            print_r($e);
        }
于 2011-05-19T17:07:15.947 回答