发布到粉丝页面墙,状态正常,但帖子没有显示在墙上

时间:2012-08-29 10:25:58

标签: php facebook facebook-graph-api symfony

我正在尝试实施一项功能,以便从管理页面(SonataAdminBundle)为Symfony 2 Framework发布帖子到Facebook粉丝页面。我已经集成了Facebook PHP SDK并且在Controller中尝试使用它:

        $facebook = new \Facebook(array(
            'appId'  => $myAppId,
            'secret' => $myAppSecret,
            'cookie' => false,
            ));


        //Get App Token
        $token = $facebook->getAccessToken();
        //Try to Publish on wall or catch the Facebook exception
        try {

          $args = array('access_token' => $token,
            'from' => $myAppId,
            'link' => 'http://mypage.pl',
            'name' => 'My Page',
            'caption' => $object->getTitle() ,
            'description' => 'Description....',
            'message' => $object->getText(),
          );

        $result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args);
        }

        //If the post is not published, print error details
        catch (FacebookApiException $e) {
                     ....
        ));
        }

我正在收到带有应用ID和帖子ID的回复,我想,就像这样:

{"status":"OK","content":{"id":"295131140562739_359030107506176"}}

但该帖子未在Facebook粉丝专页时间轴上显示。任何人都成功地实现了它?

1 个答案:

答案 0 :(得分:2)

$result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args);

以上不会产生预期的效果。正如Darvex所提到的,你可能不希望你的应用ID在那里,但页面ID。此外,在PHP中的单引号之间放置一个变量将使其成为值为$ myAppId的字符串,而不是变量的值。该行应该成为:

$result = $facebook->api('/'. $myPageId .'/feed/', 'POST', $args);

请确保在通话前将正确的ID分配给$ myPageId:)