post 从 php 到我的粉丝页面 facebook with facebook sdk 5 api 2.4

post from php to my fan page facebook with facebook sdk 5 api 2.4

我看了几十篇文章,指南,我什么都看了,但我什么都不懂。我要疯了。过去 4 API 2.4 SDK 我试图在我的 facebook 粉丝页面上 post 三天。 1. 我在 facebook 上创建了应用程序,但权限几乎无法执行 2. 我已经使用各种身份验证代码创建了适当的 PHP 代码 结果总是一样的:没有 然后是问题: 1. 您需要应用程序在我的粉丝专页上发布什么? 2.需要什么权限? 3. 如果我没有在许可中指明的屏幕截图,则无论我做什么(我做源代码的屏幕截图?)。 4. 当您获得粉丝页面的访问令牌时? 绝望的帮助。

    $APP_ID = 'XXXXXXXXXXXXXXXXX'; //app id
    $APP_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; //app secret    
    $TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; //access token
    $page_id = "XXXXXXXXXXXXXXXXXXXXX"; // facebook page id ottenuto da 
    $message = "Stiamo testando la pubblicazione delle inserzioni anche su Facebook";
    $link = "http://qualcosa";
    $name = "Me";
    /*$fb = new Facebook\Facebook([
      'app_id' => $APP_ID,
      'app_secret' => $APP_SECRET,
      'default_graph_version' => 'v2.4',
      ]);

    $linkData = [
      'link' => 'http://qualcosa/altro',
      'message' => $message,
      ];
    var_dump($linkData);        
    $helper = $fb->getPageTabHelper();
    $accessToken = $helper->getAccessToken();       
    var_dump($accessToken);
    try {
      // Returns a `Facebook\FacebookResponse` object
      $response = $fb->post('/me/feed', $linkData,$TOKEN);//
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
      $msg = 'Graph returned an error: ' . $e->getMessage();

    } catch(Facebook\Exceptions\FacebookSDKException $e) {
      $msg =  'Facebook SDK returned an error: ' . $e->getMessage();

    }
    var_dump("MSG: ".$msg);
    $graphNode = $response->getGraphNode();
    var_dump("Graph: ".$graphNode);
    $msg =  'Posted with id: ' . $graphNode['id'];
    var_dump($msg);
    $msg="Nulla";

    // I tryed but nothing

try { FacebookSession::setDefaultApplication($APP_ID, $APP_SECRET); $session = new FacebookSession($TOKEN); var_dump($session);

    $page_post = (new FacebookRequest( $session, 'POST', '/'. $page_id .'/feed', array(
        'access_token' => $TOKEN,
        'name' => $name,
        'link' => $link,
        'picture' => '',
        'caption' => 'Test da Cip!',
        'message' => $message,
      ) ))->execute()->getGraphObject()->asArray();
    } catch (Facebook\Exceptions\FacebookResponseException $e) 
    {$msg = 'Graph returned an error: ' . $e->getMessage();}
    catch (Facebook\Exceptions\FacebookSDKException $e) 
    {$msg =  'Facebook SDK returned an error: ' . $e->getMessage();}
    // return post_id, optional
    var_dump( $page_post );     
    var_dump($msg);
    echo "<br />Finito";

经过多次尝试,我已经解决了这个问题。在 graph explorer 中服务 select 应用程序,然后是发布页面,分配发布权限并撤回创建的访问令牌。在页面底部然后你可以延长令牌的时间有效性,你将不得不使用后者。