我希望它没有那么复杂,但由于 Facebook 已经改变了很多它的 API(关于权限等),我发现许多过时的信息并没有真正帮助我。情况是:
- 我有一个带有 Page Tab 的 Facebook 页面
- 我有一个与该页面相关联的 Facebook 应用程序(通过选项卡)。
- 我自己的 WebApp 通过 Facebook PHP-SDK 将帖子发布到页面的墙上,每个用户都会在流中看到新闻。
问题:如何通过该应用程序发布到用户时间轴?
到目前为止我的代码(发布到页面的墙上)
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
));
$loginUrl = $facebook->getLoginUrl();
$user = $facebook->getUser();
$page_id = 'xxxxxxxxxxxxxxxxxxxx';
$page_info = $facebook->api("/$page_id?fields=access_token");
if( !empty($page_info['access_token']) ) {
$args = array(
'access_token' => $page_info['access_token'],
'message' => "Neuer Test!"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);
} else {
$permissions = $facebook->api("/me/permissions");
if( !array_key_exists('publish_stream', $permissions['data'][0]) ||
!array_key_exists('manage_pages', $permissions['data'][0])) {
header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages")) );
}
}
这工作正常,但该消息在喜欢该页面的用户的时间轴中不可用,仅在他们自己的流中可用。是否可以发布到他们的时间线?