Post Facebook 页面 Feed 上的图片作为页面

Post Image on Facebook Page Feed as Page

使用 fb-sdk 中的示例:

require_once 'fb-sdk/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => '123456',
  'app_secret' => 'abc1233',
  'default_graph_version' => 'v2.6',
  ]);

$data = [
  'message' => 'Testupload',
  'source' => $fb->fileToUpload('image.jpg'),
];

try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post('/PageID/photos', $data, 'XXXXXXYYYYYY');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

$graphNode = $response->getGraphNode();

echo 'Photo ID: ' . $graphNode['id'];

我可以 post 作为我自己到我的 facebook 页面的墙上。 'app_id' 和 'app_secret' 来自我为此创建的应用程序。

如果我设置 $response = $fb->post('/me/photos', $data, 'XXXXXXYYYYYY'); post 出现在我的时间轴上。

我需要更改什么,所以拍张照片,由 "Page" 在 "Page" 的供稿上 post编辑?

您需要使用具有 publish_pages 权限的页面令牌 post "as Page"。在使用 manage_pagespublish_pages 授权后,您可以通过以下 API 调用获得页面令牌:

/page-id?fields=access_token

更多信息: