Facebook SDK状态/页面

时间:2017-02-26 06:14:49

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

您好我创建了一个直接发布的API,它在我的Facebook个人资料上运行得很好,当我尝试在我的页面中发布状态时状态正常,帖子在访问者出版物中我该怎么办?

我查看了Facebook Graph API,看起来这是一个错误..你可以绕过使用Curl ..?

ps /我编辑了信息页面ID,应用程序ID,秘密应用程序

在此先感谢您的帮助 史蒂芬妮

public function statutPage(){

    $fb = new Facebook([
        'app_id' => 'my app id',
        'app_secret' => 'my app secret',
        'default_graph_version' => 'v2.8',

    ]);

    $pageID='my page id,;
    $token='A_VALID_USER_ACCESS_TOKEN';

    $attachment = [
        'access_token' => $token,
        'message' => 'Premier message auto',
        'name' => 'Première publication sur facebook',
        'caption' => 'Legend sous le tire',
        'link' => 'https://www.la-programmation.surleweb-france.fr',
        'description' => 'Description du lien',
        'picture' => 'https://www.google.fr/images/srpr/logo11w.png'
    ];


    try {
        $response = $fb->post('/'.$pageID.'/feed/', $attachment);

    } catch(FacebookAuthorizationException $e) {
        echo 'Graph retourne une erreur: ' . $e->getMessage();
        exit;
    } catch(FacebookSDKException $e) {
        echo 'Facebook SDK retourne une erreur: ' . $e->getMessage();
        exit;
    }

    $graphNode = $response->getGraphNode();

    echo 'Posté su Facebook avec l\'id: ' . $graphNode['id'];

}

1 个答案:

答案 0 :(得分:0)

注意下面的apparanlty代码仅适用于“用户个人资料”,不适用于“网页”。如果您想了解如何处理页面的信息,请查看Facebook SDK v5 Post as Page on Wall给出的答案!

但话虽如此,Reading the Facebook PHP Developers Docs用于发布到Graph API 5.0上的Feed,我看到他们正在使用FacebookRequest对象,然后在其上执行方法execute。然而,它返回GraphObject - 似乎deprecated in versions higher than 4

他们还提到确保您使用自动发布的帐户拥有publish_actions权限。

引用来自facebook /feed/ SDK docs的PHP SDK代码(在网址中向下滚动到'发布'),用于Graph API 5.0 - 注意,它返回GraphObject - 似乎{ {3}}。 - 我已编辑示例,以使用deprecated in versions higher than 4中提到的 getGraphNode

/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'POST',
  '/me/feed',
  array (
    'message' => 'This is a test message',
  )
);
$response = $request->execute();
$graphNode = $response->getGraphNode();
/* handle the result */

或者他们也提到直接使用 graph api 链接到https://developers.facebook.com/docs/php/FacebookRequest/5.0.0