2013-01-20 95 views
0

可能重复:
Facebook Graph Api - Posting to Fan Page as an Admin如何使用应用发布到我自己的Facebook页面?

我已经写了下面的代码:

$pageId = 'xxx'; 
$appId = 'xxx'; 
$secret = 'xxx'; 
$facebook = new Facebook(array(
    'appId' => $appId, 
    'secret' => $secret, 
    'cookie' => false 
)); 

$access_token = $facebook->getAccessToken(); 

$facebook->api("/{$pageId}/feed", "post", array(
    'message' => "First message", 
    'name' => "Name for first", 
    'access_token' => $access_token 
)); 

但收到以下异常: (#200)的用户不是招” t授权应用程序执行此操作

回答

0

您是否检查过用户是否已登录?很简单,但我没有在代码中看到它。

如果null重定向到$ facebook-> getLoginUrl(array('req_perms'=>'user_status');那么您可以首先检查$ facebook-> getUser()是否为null,并确保添加其他权限。需要

This question非常相似,通过一些问题的答案阅读 - 应该有一个适合您

+0

我想张贴代表页面的,而不是任何其他用户 – Blacksonic

+0

嗯很抱歉。但基于错误,它似乎正在检查授权用户这样做。 –

+0

当我获得页面的访问令牌时,我收到相同的错误消息 – Blacksonic

0

您需要* publish_stream *许可,您的代码 它可以是:

$my_url = "http://apps.facebook.com/siegiusarena"; 

// Get U ser ID $ user = $ facebook-> getUser();

如果($用户){

$message=$application_name." game on facebook. Check it out: http://apps.facebook.com/siegiusarena"; 
$link = "http://apps.facebook.com/siegiusarena"; 
$attachment = array('message'=>$message, 'link'=>$link, 'picture'=>'http://www.developas.com/fb/siegiusarena/siegiusarena_256x256.jpg'); 
$facebook->api("me/feed", 'post', $attachment); 

}否则{ $代码= $ _REQUEST [ “代码”];

if(empty($code)) { 
        $_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection 
        $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
    . $appid . "&redirect_uri=" . urlencode($my_url) . "&state=" 
    . $_SESSION['state'] . "&scope=email,publish_stream"; 

        echo("<script> top.location.href='" . $dialog_url . "'</script>"); 

}}

+0

请在已提供帮助的情况下使用VOTEUP。 – FacebookLover2013

+0

为什么我需要验证自己或授予权限,如果我是应用程序和页面的管理员? – Blacksonic

+0

不可以管理。但是,当应用程序运行时,需要获得任何人加入的权限。应用程序需要按照相应的步骤执行操作。并要求发布“publish_stream”是必需的。 – FacebookLover2013

相关问题