SDK php,在公共墙上添加新闻

时间:2013-12-04 13:25:09

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

我尝试在我的墙上发布新闻(适合所有​​人),但我的程序不起作用,你能帮帮我吗?

            $app_config = array(
                'appId' => 'xxxxxxxxxxxxxxxx',
                'secret' => 'xxxxxxxxxxxxxxx',
                'cookie' => true
            );
            $page_config = array(
                'access_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxx',
                'page_id' => 'xxxxxxxxxxxxxxxxxxxxx'
            );


            $facebook = new Facebook($app_config);


            $privacy=array('value' => 'EVERYONE');
            $decri=array('name' => 'See the link', 'link' => 'http://www.xxxxxx.com');
            $description="this is a test";
            $picture="a.png";

            $params = array(
             'access_token' => $page_config['access_token'],
             'name' => $title,
             'caption' => 'www.xxxxxx.com',
             'link' => 'http://www.xxxxxx.com',
             'description' => $description,
             'picture' => $picture,
             'status_type' => 'mobile_status_update',
             'type' => 'status',
             'privacy' => json_encode($privacy),
             'actions' => json_encode($decri)
            );

            $post_id = $facebook->api('/'.$page_config['page_id'].'/feed','post',$params);

但是没有发表,我不明白 非常感谢你

1 个答案:

答案 0 :(得分:0)

从您的代码中,我假设您要发布到Facebook页面 - 在这种情况下,尤其是链接。

当您尝试发布链接时,不要将其发布到/PAGE_ID/feed,而是将其发布到/PAGE_ID/links(请参阅Facebook Documentation)。

在您的示例中,您的API请求应如下所示:

$post_id = $facebook->api('/'.$page_config['page_id'].'/links','post',$params);

此外,$picture应该是一个链接,从httphttps开始。

最后但并非最不重要的是确保您拥有publish_streammanage_pages权限。

与文档相比,您使用的参数略有不同,因此请仔细检查documentation - 您似乎做了太多工作。