发布facebook api而不是页面

发布facebook api而不是页面

问题描述:

我制作了facebook应用,获得了appID和秘密,并且我正在尝试将其作为页面发布到页面。我已授予应用权限。发布facebook api而不是页面

但是当我发布时,新帖子创建“作为用户”,而不是页面。

我的代码:

require '../lib/fb/autoload.php'; 

use Facebook\FacebookSession; 
use Facebook\FacebookRequest; 
use Facebook\GraphUser; 
use Facebook\FacebookRequestException; 

FacebookSession::setDefaultApplication('APP_ID','SECRET'); 

$session = new FacebookSession('ACCESS_TOKEN'); 


try { 
    $response = (new FacebookRequest(
      $session, 'POST', '/1429642034012499/feed', array(
       'message'  => 'test', 
       'link'   => 'http://mylink', 
      ) 
     ))->execute()->getGraphObject(); 

     print_r($response); 
} catch (FacebookRequestException $e) { 
    echo "Exception occured, code: " . $e->getCode(); 
     echo " with message: " . $e->getMessage(); 

} catch (\Exception $e) { 

} 

Page查看。

本答案适用于C#,使用.NET Facebook API库。但是在PHP中逻辑应该是一样的。

你必须让页面访问令牌:

去这里:developers.facebook.com/tools/

然后转到此链接:

enter image description here

然后点击:“Get Access Token

然后添加这些权限:

enter image description here

再复制新的访问令牌:

enter image description here

现在,在C#类我做的(这是信息的评论中为页):

var userClient = new FacebookClient("THE NEW ACCESS TOKEN YOU JUST GENERATED"); 

dynamic accountInfo = userClient.Get("USER_ID" + "/accounts"); 

//USER_ID Should be Digits, this is the UserID when you do: facebook.com/USERID it should come up with the Admin Profile 

var pageAccessToken = accountInfo.data[0].access_token; 

var pageClient = new FacebookClient(pageAccessToken); 

dynamic parameters = new ExpandoObject(); 
parameters.message = model.Message; 

dynamic pageResult = pageClient.Post(string.Format("{0}/comments",), parameters);