发布从PHP到我的粉丝页面facebook与facebook sdk 5 api 2.4

时间:2015-07-11 08:31:39

标签: facebook-php-sdk

我读过几十篇文章,指南,我读了一切,但我什么都不懂。我要疯了。我试图通过最后4个API 2.4 SDK在我的Facebook粉丝页面上发布三天。 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";

1 个答案:

答案 0 :(得分:0)

经过多次尝试,我解决了这个问题。在图形浏览器服务器中选择应用程序,然后在发布页面上,分配发布权限并撤销创建的访问令牌。在页面底部,您可以延长令牌的时间有效性,您将不得不使用后者。