我已经掌握了基本的想法(我认为),但似乎无法使用 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。有任何想法吗?如果上面看起来正确,任何人都可以建议我尝试调试它吗?
最佳答案
在您的应用中,当您检查用户是否登录 Facebook 时,请确保您确认您的应用请求了在用户墙上发帖的“特殊权限”。您可以通过如下修改代码来做到这一点:
$url = $this->facebook->getLoginUrl(array('canvas' => 1, 'fbconnect' => 0, 'req_perms' => 'user_status,publish_stream'));
请注意 req_perms 键被设置为包含“publish_stream”的值列表。如果您没有此权限,提要调用将会失败。
此外,无论这是否确实是问题所在,您都可以使用 try-catch block 包装您的 Facebook 请求,以捕获 FacebookApiException 类型异常,以便在出现错误时获取更多信息。例如:
try {
$uid = $this->facebook->getUser();
$me = $this->facebook->api('/me');
} catch (FacebookApiException $e) {
print_r($e);
}
关于php - Facebook API(通过 PHP): Post to Feed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061513/