php - Facebook API(通过 PHP): Post to Feed?

标签 php facebook facebook-graph-api facebook-php-sdk

我已经掌握了基本的想法(我认为),但似乎无法使用 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/

相关文章:

带有 Facebook SDK 的 Android Espresso AppNotIdleException

facebook - 如何获取所有喜欢 Facebook 帖子的人?

ios - 新的 Facebook iOS SDK 发布以提供对话框

php - 使用 PHP PDO 显示 mysql select 语句

php - 带有 PHP 的 mySQL 中的两个 WHERE 条件

android - 删除预定的 Facebook 页面帖子 : pages_manage_engagement are not available 时出现错误

ios - 如何为 Facebook API 验证 UIViewController

php - 如何使用 php 显示来自 mysql 的多个图像(blob)?

php - youtube 使用 PHP 嵌入代码

java - 尝试从 Android 上的 Facebook SDK 检索信息时强制关闭错误