发布 facebook api 不是页面

Posting facebook api not as page

我已经制作了 facebook 应用程序,获得了 appID 和密码,我正在尝试 post 到一个页面作为页面。我已授予该应用权限。

但是当我 posting 时,新 post 创建 "as user",而不是作为页面。

我的代码:

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/

然后转到这个 Link:

然后点击:“Get Access Token

然后添加这些权限:

然后复制新的访问令牌:

现在在 C# 中 Class 我这样做(这是 POST 页面的评论):

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);