我试图在页面的墙上发布消息,而没有任何用户连接。
目前,第一部分工作正常,但我需要一个连接用户来完成它。我听说我需要一个使用标识ID来离线,但我不知道如何获取它以及如何使用它。
目前,我的代码是:
$facebook = new Facebook(array('appId' => $appID, 'secret' => $appSecret));
$user = $facebook->getUser();
try
{
$pageInfo = $facebook->api("/{$pageID}?fields=access_token");
if(!empty($pageInfo['access_token']))
{
$args = array(
'access_token' => $pageInfo['access_token'],
'message' => $message
);
$postID = $facebook->api("/{$pageID}/feed", 'post', $args);
}
}
catch (FacebookApiException $e)
{
echo '<pre>'; var_dump($e); echo '</pre>';
$user = null;
}
答案 0 :(得分:2)
您需要设置offline_access权限,然后才能执行所需操作。检查一下它会告诉你该怎么做:http://eagerfish.eu/using-facebook-off-line-access-to-post-on-users-wall/
答案 1 :(得分:1)
Facebook将删除offline_access权限,他们现在允许该选项使用具有长期过期时间的access_tokens。
答案 2 :(得分:0)
使用publish_stream
权限。
使您的应用能够将内容,评论和喜欢发布到用户的信息流和用户朋友的信息流。有了此权限,您可以随时将内容发布到用户的Feed,而无需offline_access。但请注意,Facebook建议使用用户启动的共享模式。
除了作为页面发布(不是用户),还要求manage_pages
。
var $permissions_needed = 'manage_pages,publish_stream';
如何登录:
$this->login_url = $facebook->getLoginUrl(
array(
'scope' => $this->permissions_needed,
'display' => 'page'
)
);