【问题标题】:How do I post on my facebook wall via my facebook ID?如何通过我的 facebook ID 在我的 facebook 墙上发帖?
【发布时间】:2025-11-30 23:10:02
【问题描述】:

我使用下面的代码使用 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'

对不起,我的英语不好。

【问题讨论】:

    标签: facebook


    【解决方案1】:

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

    此外,您应该使用/me/feed 发帖,因为无论如何您都不能在授权用户以外的其他用户的墙上发帖。

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

    2.3:请勿在帖子的标题、cmets、消息或用户消息参数中预先填充非个人创建的内容,即使此人可以在共享前编辑或删除内容。

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

    【讨论】: