0

Symfony 2 フレームワークの管理ページ (SonataAdminBundle) から Facebook ファンページに投稿を公開する機能を実装しようとしています。私はFacebook PHP SDKを統合し、コントローラーでこれを使用しようとしました:

        $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 ファン ページのタイムラインには表示されません。実装して成功した人はいますか?

4

1 に答える 1

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

上記は、望ましい効果を生み出しません。Darvex が述べたように、おそらくそこにはアプリ ID が必要ではなく、ページ ID が必要です。また、PHP で変数を単一引用符で囲むと、変数の値ではなく、値が $myAppId の文字列になります。その行は次のようになります。

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

呼び出しの前に、正しい ID を $myPageId に割り当てていることを確認してください:)

于 2012-08-29T23:34:47.133 に答える