我使用下面的代码使用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'
抱歉我的英语不好。
答案 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