如何通过我的Facebook ID在我的Facebook墙上发布?

时间:2014-11-13 08:20:04

标签: facebook

我使用下面的代码使用php发布在我的Facebook墙上。

    include_once("libs/social-sdk/facebook/facebook.php");
    $facebook = new Facebook(array(
        'appId' => 'my_app_id',
        'secret' => 'my_secret'
    ));
    try {
        $publishStream = $facebook->api("/my_profile_id/feed", 'post', array(
            'message' => "I love thinkdiff.net for facebook app development tutorials. :)",
            'link' => 'http://example.com',
            'picture' => 'http://thumbs.dreamstime.com/z/mad-programmer-17296778.jpg',
            'name' => 'Test Post',
            'description' => 'This is my first post using php :)'
                )
        );
    } catch (FacebookApiException $e) {
        echo "<pre>"; print_r($e); echo "</pre>";
    }

但它给我一个例外错误:

  

(#200)用户尚未授权应用程序执行此操作

     

我在登录时使用范围:'email,publish_stream,user_birthday'

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

publish_stream已弃用多年,您需要publish_actions,并且需要先授权用户才能发布用户:https://developers.facebook.com/docs/facebook-login/v2.2

此外,您应该使用/me/feed进行发布,因为无论如何您都无法在授权用户的墙上张贴。

您可能也想阅读平台政策:https://developers.facebook.com/policy/

  

2.3:不要预先填写带有人未创建内容的帖子的标题,评论,消息或用户消息参数,即使该人可以在共享之前编辑或删除内容。

然后你需要阅读评论指南,因为发布活动和user_birthday需要获得Facebook批准才能为其他用户工作(在你的应用中没有角色):https://developers.facebook.com/docs/apps/review/login