Facebook API(PHP)发布给除了我以外的任何人

时间:2014-03-21 08:37:25

标签: php facebook facebook-graph-api facebook-php-sdk

我有一个非常奇怪的问题。我开发了一个小PHP脚本和一个Facebook-App,它发布到我的页面。该应用的权限为:publish_actionsmanage_pages

它就像一个魅力,有一个主要的钩子:这些帖子除了我以外的任何人都看不到。它们出现在我的墙上,我可以在页面上看到它们甚至在洞察中,它们都是可见的。请参阅:http://i.imgur.com/ziiRSBf.png

你可以看到它是一个公共帖子,只有一个人看到它:我。这是直接链接:https://www.facebook.com/permalink.php?story_fbid=793772960651385&id=110373632307818

如果您点击它,您将收到消息:“此页面当前不可用”......或类似的内容。

还有其他人有过这样的问题吗?提前感谢您的帮助。

编辑:这是完成工作的代码:

function page_message($page_id, $data){
    // my persistent access-token
    $user_access_token = '◼︎◼︎◼︎◼︎◼︎◼︎';

    $config = array();
    $config['appId'] = '353943021379058';
    $config['secret'] = '◼︎◼︎◼︎◼︎◼︎◼︎';
    $config['fileUpload'] = false; // optional

    $facebook = new Facebook($config);

    // get the list of my pages
    $response = $facebook->api("/gonzo187/accounts/", 'GET', array('access_token' => $user_access_token));


    $args = $data;

    $args['access_token']  = '';

    foreach($response["data"] as $page){
        if($page["id"] == $page_id){ 
            echo '<!--';
            var_dump($page);
            echo('-->');
            $args["access_token"] = $page["access_token"];
        }
    }

    if($args["access_token"]){
        $return = $facebook->api("/$page_id/feed", "post", $args); // It works!!
    }else{
        $return = false;
    }

    return $return;
}

EDIT2:$ data-Array:

$data = array(
    'page_id'   => '153090891543315',
    'data'      => array(
        'message'   => "wer watchng u!\n\nrly!",  
        'link'      => "https://www.nsa.gov/", 
    )
);

1 个答案:

答案 0 :(得分:0)

您必须在review & status下的应用设置中停用开发者模式。

来自facebook docs

  

开发模式

     

测试应用时,请将其置于开发模式。这隐藏了   您的应用程序完全来自您未获得授权的所有用户   App Dashboard查看应用程序,用于下面描述的角色。请   请注意,当您的应用处于开发模式时,您无法拨打任何电话   代表无法看到您应用的用户的API调用。