Graph API 版本

專頁動態消息

使用此端點存取和發佈內容至專頁。專頁動態消息包括與 Facebook 專頁的任何互動,例如:此專頁發佈的帖子和連結、此專頁的訪客和標註此專頁的公開帖子。

另請參閱

讀取

Facebook 專頁的帖子。

新版專頁體驗

新版專頁體驗支援此 API。

必要條件

要求獲取存取憑證的用戶必須能夠在專頁上執行以下其中一項任務:

  • CREATE_CONTENT:以專頁身分於專頁上發佈內容
  • MANAGE:分配和管理專頁任務
  • MODERATE
    • 以專頁身分回覆專頁帖子上的回應
    • 刪除專頁帖子上的回應
    • 如果專頁已與 Instagram 帳戶連結,則可從 Facebook 發佈內容至 Instagram、回覆和刪除回應,傳送 direct 訊息、同步企業聯絡資料,以及建立廣告。

此外,必須授予應用程式以下權限:

如果您不是專頁的擁有者或管理者,您將需要:

當使用專頁公開內容存取權限功能時,請使用系統用戶存取憑證以免傳輸率限制的問題。

要求範例

Graph API 測試工具
GET /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed',
    '{access-token}'
  );
} 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();
/* handle the result */
/* make the API call */
FB.api(
    "/{page-id}/feed",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/feed",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/feed"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

JSON 回應範例

{
  "data": [
    {
      "created_time": "2019-05-17T16:24:04+0000",
      "message": "Become a Facebook developer!",
      "id": "{page-id}_2191966997525824"
    },
    {
      "created_time": "2019-02-26T21:35:42+0000",
      "message": "Hello world!",
      "id": "{page-id}_2072371269485398"
    },
...
    {
      "created_time": "2018-01-26T20:57:22+0000",
      "message": "Friday Funday!",
      "id": "{page-id}_1569752556413941"
    }
  ],
  "paging": {
    "cursors": {
      "before": "Q2c4U1pXNT...",
      "after": "Q2c4U1pXNT..."
    },
    "next": "https://graph.facebook.com/vX.X/{page-id}/feed?access_token={your-page-access-token}&pretty=0&limit=25&after=Q2c4U1pXNT..."
  }
}

限制

  • 過期的帖子:如果您的帖子過期,您就無法再以 Graph API 檢視相關內容。
  • 帖子數量上限
    • API 每年傳回約 600 個已排名和已發佈的帖子。
    • 由於 limit 欄位有所限制,您最多只能讀取 100 個動態消息帖子。如果嘗試讀取更多帖子,您會收到告知您不要超過 100 個帖子的錯誤訊息。
  • 訊息呼籲字句:由於專頁無法向其他專頁傳送訊息,您無法使用其他專頁的存取憑證來存取含有訊息呼籲字句的帖子。
  • 可公開識別身分的資訊:除非您使用專頁存取憑證提出要求,否則用戶資訊不會包含在回應中。
  • 已發佈帖子:用戶查詢「/{page-id}/feed」端點時,系統會傳回已發佈和未發佈的帖子。使用「is_published」欄位僅傳回已發佈的帖子。
  • 分享帖子:此類專頁帖子會分享來自其他專頁或用戶的帖子;如果您使用存取憑證時看不到原本的帖子,則您亦將無法查看此帖子。
  • 標註帖子 - 當您使用 /{page-id}/tagged 來顯示標註過此專頁的帖子時,顯示結果會包含來自其他專頁的帖子,但前提是這些專頁必須為真實。
  • 用戶代理 - 這些 Graph API 呼叫允許的可用用戶代理可能會在無另行通知的情況下隨時變更。如果遇到問題,您可以嘗試變更至特定用戶代理的較新版本。
  • 影片帖子:如要獲得影片帖子清單,提出要求的用戶必須是專頁管理員。
  • Reels:如要獲得已發佈至您專頁的 Reels 連續短片清單,請使用 Page VideoReels 關係連線

限制:所有已發佈和未發佈的帖子都將被納入動態消息端點。唯一分別在於未發佈的帖子將不會在實際動態消息中列出。但您可以向 /feed 端點新增一個 is_published 欄位,讓開發人員知道 /feed 端點中列出的帖子是否已經發佈

欄位

名稱類型說明
idstring

帖子編號。

actionsobject

帖子上的動作連結:回應、讚好和分享。

admin_creatorobject

專頁帖子的管理員製作者。如果專頁只有一個管理員,則不會傳回任何數據。需要使用專頁存取憑證和 business_management 權限。

idint

用戶、應用程式或企業的編號。

namestring

用戶、應用程式或企業的名稱。

allowed_advertising_objectsstring

為此帖子刊登廣告時唯一可用的目標。

applicationobject

有關發佈此帖子的應用程式之資訊。

attachmentsobject

與此動態相關的任何附件。請參閱動態附件節點參考資料以了解 attachments 欄位。

backdated_timefloat

追溯帖子的追溯時間。對於一般帖子,此欄位會設為 null。

call_to_actionobject

流動應用程式互動廣告的所有專頁帖子中使用的呼籲字句類型。

contextobject

流動應用程式互動廣告的所有專頁帖子中使用的呼籲字句類型。

can_reply_privatelyboolean

專頁瀏覽者能否向此帖子傳送私人回覆。需要使用 read_page_mailboxes 權限。

caption

3.3 版及更新版本的專頁帖子已停用此欄位。

string

帖子中顯示在 name 下方的連結說明文字。caption 必須為真實的網址,並且必須準確地反映用戶點擊該網址時會瀏覽的網址和相關的廣告客戶或企業。

child_attachmentsobject

多連結分享帖子的子分享內容。

created_timefloat

最初發佈帖子的時間。若是有關人生大事的帖子,這將會是該人生大事的日期和時間。

description

3.3 版及更新版本的專頁帖子已停用此欄位。請改用 attachments{description}

string

帖子中連結的描述(在 caption 下方顯示)。

feed_targetingobject

控制此帖子動態消息目標設定的物件。這些群組中的所有用戶都較有可能看到此帖子,而不屬於這些群組的用戶則較少機會看到此帖子,但仍可能會看到它。您可以使用此處顯示的所有目標指定欄位,但這些欄位均不是必填項目(僅適用於專頁)。

age_maxint

年齡上限

age_minint

必須為 13 歲或以上。預設為 0

citiesint

目標城市的值。使用 adcitytype尋找目標返定選項,並使用傳回的 key 來指定目標。

college_yearsint

大專院校畢業年分的整數陣列。

countriesstring

目標國家/地區的值。您最多可以指定 25 個國家/地區。請使用 ISO 3166 格式代碼

education_statusesint

根據教育程度鎖定目標的整數陣列。使用 1 代表高中、2 代表在讀大學生、3 代表大學畢業生(或當地同等學歷)。

gendersint

要鎖定的目標性別。1 代表鎖定所有男性瀏覽者,2 代表女性瀏覽者。預設值為同時鎖定男性和女性瀏覽者。

interested_in

已停用。

int代表根據用戶個人檔案的「戀愛取向」欄位而鎖定的目標。您可以指定整數 1 來代表男性、2 代表女性。預設值為全部類型。請注意,大多數歐洲國家/地區和加拿大由於當地法律有所規定,系統在這些地方並不支援「戀愛取向」目標鎖定功能。
interestsint

使用一個或多個專頁編號來鎖定專頁粉絲。使用專頁類型,以獲取可使用的編號作為目標指定選項,並使用傳回的編號來指定目標。

localesint

鎖定的語言區域。使用 adlocaletype尋找目標指定選項,並使用傳回的 key 來指定目標。

regionsarray

目標地區的值。使用 adregiontype尋找目標指定選項,並使用傳回的 key 來指定目標。

relationship_statusesint

根據感情狀態鎖定目標的整數陣列。使用 1 代表單身、2 代表「戀愛中」、3 代表已婚、4 代表已訂婚。預設值為全部類型。

from

object

建立帖子的專頁、群組或活動之 nameid。如果您以用用戶存取憑證來讀取此欄位,則系統僅會傳回目前用戶。

full_picturestring

在帖子中所發佈的相片之全尺寸版本網址,或從帖子中的連結所抓取的網址。如果相片的最大尺寸超過 720 像素,則系統會調整相片尺寸,將其最大尺寸設定為 720 像素。

iconstring

代表帖子類型的圖示之連結。

instagram_eligibilityenum{}

表明是否可以在 Instagram 推廣此帖子。如果可以推廣的話,則系統會傳回 eligible 列舉。否則系統將傳回列舉,以解釋為何不能推廣此帖子:

  • ineligible_caption_mentions_not_allowed
  • ineligible_caption_too_long
  • ineligible_media_aspect_ratio
  • ineligible_media_dimension
  • ineligible_media_square_aspect_ratio
  • ineligible_media_square_dimension
  • ineligible_post_type
  • ineligible_unknown_error
  • ineligible_video_length
is_eligible_for_promotionboolean

表明帖子是否符合資格參與推廣活動。

is_expiredboolean

表明帖子是否具有已過期的到期時間。

is_hiddenboolean

表明帖子是否標記為隱藏(僅適用於專頁)。隱藏帖子後,系統會將帖子隱藏在專頁的生活時報中,但是用戶仍可在 Facebook 的其他地方(如連結)中見到此帖子。

is_instagram_eligiblestring

表明是否可以在 Instagram 推廣此帖子。

is_popularboolean

表明帖子是否為熱門帖子。根據以接觸人數百分比表示的動作總數是否超過特定門檻來確定。

is_publishedboolean

表明是否發佈了經排定發佈的帖子(僅適用於排定發佈的專頁帖子;若是用戶帖子和即時發佈的帖子,此值一律為 true)。請注意,若專頁帖子是作為廣告建立流程一部分而建立,此值一律為 false

is_sphericalboolean

表明帖子是否為環繞式影片帖子。

link

3.3 版及更新版本的專頁帖子已停用此欄位。

請改用 attachments{unshimmed_url}

string

附加至此帖子的連結。

messagestring

帖子中的狀態訊息。

message_tagsarray

message 文字中標註的個人檔案陣列。如果您以用戶的用戶存取憑證讀取此欄位,則系統僅會傳回目前用戶。

lengthint

Unicode 代碼點中的標籤文字長度。

idstring

被標註的個人檔案編號。

namestring

用於標註個人檔案的文字。

offsetint

message 中標籤文字的首個字元在 Unicode 代碼點中的位置。

typeenum{}

獲標註的個人檔案類型(userpagegroup)。

name

3.3 版及更新版本的專頁帖子已停用此欄位。

請改用 attachments{title}

string

link 的名稱。

object_id

3.3 版及更新版本的專頁帖子已停用此欄位。

請改用 attachments{target{id}}

string

任何附加至帖子的已上載相片或影片之編號。

parent_idstring

此帖子的母帖子編號(如有)。例如,如果此動態屬於「有一則帖子提及您的專頁」動態,則 parent_id 便是提及訊息所屬的原始帖子。

permalink_urlstring

指向 www.facebook.com 帖子的永久靜態網址。範例:https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553

placestring

與此帖子相關的位置編號。

privacyobject

帖子的私隱設定。

allowstring

如果 valueCUSTOM,則這是一個逗號分隔編號清單,當中列出了可看到帖子的用戶及朋友名單(如有)。

denystring

如果 valueCUSTOM,則這是一個逗號分隔編號清單,當中列出了無法看到帖子的用戶及朋友名單(如有)。

descriptionstring

描述私隱設定的文字;此等文字將會出現於 Facebook。

friendsenum{}

如果 valueCUSTOM,則此欄位表明可以看到帖子的朋友群組。其值包含:

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

實際私隱設定。其值包含:

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

用於推廣無法直接推廣的動態之帖子編號。

promotion_eligibility

已停用。請參閱 is_eligible_for_promotion

boolean表明帖子是否符合資格參與推廣活動。
promotion_status

已停用。請參閱 is_eligible_for_promotion

string推廣活動的狀態。需要使用專頁管理員權限。可能的值:
active推廣活動正在進行中。
draft推廣活動仍處於草稿模式。
extendable推廣活動的宣傳活動已結束,但可以重新開始。
finished推廣活動已結束。
inactive沒有正在進行的推廣活動。
ineligible

帖子不符合加強推廣的資格。了解帖子不符合資格的原因。

paused推廣活動目前已暫停。
pending推廣活動仍在接受審查。
rejected推廣活動在審查流程中遭拒絕。
propertiesobject

任何附加影片的屬性清單(如影片長度)。

namestring

屬性名稱。

textstring

屬性的值。

hrefstring

任何與屬性相關的連結。

sheduled_publish_timefloat

帖子的排定發佈時間之 UNIX 時戳。

sharesobject

此帖子的分享次數。分享次數或會包括已刪除的帖子,以及出於私隱原因無法讓您查看的帖子。

source

3.3 版及更新版本的專頁帖子已停用此欄位。

請改用 attachments{media{source}}

string

任何附加至帖子的 Flash 影片或影片檔案之網址。

status_typeenum{}

近況更新的類型。其值包含:

  • added_photos
  • added_video
  • app_created_story
  • approved_friend
  • created_event
  • created_group
  • created_note
  • mobile_status_update
  • published_story
  • shared_story
  • tagged_in_photo
  • wall_post
storystring

用戶無意建立的動態文字,例如新增相片時建立的動態文字。您必須在應用程式中啟用「包含近期活動動態」轉移,才能檢索此欄位。

story_tagsarray

帖子說明中的一系列標籤。

subscribedboolean

表明用戶是否已訂閱帖子。

targetingobject

限制此內容的廣告受眾之物件。只有屬於特定人口統計資料群組的廣告受眾可以查看此內容。人口統計資料為附加部分。每個附加值會將其廣告受眾加入累積目標廣告受眾中。這些值不會覆寫任何可能存在的專頁級別人口統計資料限制。

countriesstring

目標國家/地區的值,使用 ISO 3166 格式代碼

localesint

鎖定的語言區域。系統或會傳回 adlocale 類型的目標指定選項

regionslist<int>

目標地區的值。系統或會傳回 adregion 類型的目標指定選項

citieslist<int>

已排除的城市之值。系統或會傳回 adcity 類型的目標指定選項

to

object

帖子中提及或指定的個人檔案。如果您以用戶存取憑證讀取此欄位,則系統僅會傳回目前用戶。

type

3.3 版及更新版本的專頁帖子已停用此欄位。

請改用 attachments{media_type}。如果沒有 attachmentsmedia_type=link,則此值與 type=status 相同。

enum{}

表明此帖子物件類型的字串。enum 值包括:

  • link
  • offer
  • photo
  • status
  • video
updated_timefloat

上次更新帖子的時間(即建立或編輯帖子的時間,或者用戶回應帖子的時間),以 UNIX 時戳表示。

video_buying_eligibilityarray

表明是否可以使用不同的影片購買選項來推廣帖子。此欄位會在影片符合資格時傳回空白清單,否則會傳回無法推廣帖子的原因清單。

with_tags

object

獲帖子發佈者標註為與其同在的個人檔案。如果您以用戶存取憑證讀取此欄位,則系統僅會傳回目前用戶。


由 2019 年 4 月 30 日起,3.3 版及更新版本的 Graph API 和推廣 API 將無法使用此端點。應用程式如在過去 90 天內曾使用此端點,則可以在 2019 年 7 月 30 日或之前繼續透過 3.2 版及更舊版本的 API 使用此端點。應用程式如在過去 90 天內未曾使用此端點,則將無法在 2019 年 4 月 30 日或之後使用此端點。

可推廣編號

在尋找可以加強推廣的帖子時,您必須使用 promotable_id 來建立廣告。在大多數情況下,此編號與 post_id 相同,但並不適用於所有情況。備註:帖子一經加強推廣,就必須透過已連結的廣告帳戶存取,以供編輯。

要求範例

curl -i -X GET \
 "https://graph.facebook.com/{your-page-id}/feed
    ?fields=is_eligible_for_promotion,promotable_id
        &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{your-page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_eligible_for_promotion,promotable_id");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"fields": @"is_eligible_for_promotion,promotable_id",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'GET',
  {"fields":"is_eligible_for_promotion,promotable_id"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{your-page-id}/feed?fields=is_eligible_for_promotion,promotable_id',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

回應範例

{
  "data": [
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943344825721377",
      "id": "1353269864728879_1943344825721377"
    },
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943313139057879",
      "id": "1353269864728879_1943378089051384"
    },
    {
      "is_eligible_for_promotion": false,
      "promotable_id": "1353269864728879_1942095249179668",
      "id": "1353269864728879_1942095249179668"
    },
...

請瀏覽我們的幫助中心,了解無法加強推廣某個帖子的原因。

請瀏覽我們的帖子參考文件,了解所有可用的帖子欄位。

發佈

您可以使用此關係連線發佈內容至專頁。必須提供 linkmessage

新版專頁體驗

新版專頁體驗支援此 API。

必要條件

如要執行 CREATE_CONTENT 任務,您需要以下權限:

系統將以專頁的身分展示帖子。

權限

請注意:如果檢視器或應用程式無法查看 link 的網址,帖子將無法發佈。

POST /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+message
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/feed',
    array (
      'message' => 'This is a test message',
    ),
    '{access-token}'
  );
} 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();
/* handle the result */
/* make the API call */
FB.api(
    "/{page-id}/feed",
    "POST",
    {
        "message": "This is a test message"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test message");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test message",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

回應

{"id":"post-id"}

此端點支援先寫後讀,並且可以即時傳回由讀取操作傳回的任何欄位。

圖表測試工具範例

使用 POST {page-id}/feed 在圖表測試工具中進行測試:

欄位

名稱類型說明
actionsarray

附加至帖子的動作連結

linkstring

動作連結本身的網址。

namestring

動作連結的名稱或標籤。

backdated_timefloat

指定過去的某個時間,以將此帖子回溯到該時間。

backdated_time_granularityenum{year, month, day, hour, minute}

控制已回溯帖子出現時的展示方式。例如,如果您選擇 month,則帖子會顯示為 2 months ago,而不是確切的日期。

child_attachments

object

用於在帖子中指定多個連結。最少可以指定 2 個物件,最多可以指定 5 個物件。如果您設定了

multi_share_optimized

為「true」,則您最多可以上載 10 個物件,但 Facebook 只會顯示首 5 個。

descriptionstring

用於展示價格、折扣或網站網域。如果未有指定,則系統會擷取並使用已連結專頁的內容。這個欄位一般只會顯示首 30 個字元。

image_hashstring

廣告圖像檔案庫中的連結相關的預覽圖像雜湊(如要獲取最佳畫質,長闊比例必須為 1:1,尺寸最少必須為 458 x 458 px)。必須指定 pictureimage_hash

linkstring

附加至帖子的連結網址。此為必要欄位。

namestring

連結預覽的標題。如果未有指定,則系統會使用已連結專頁的標題。這個欄位一般只會顯示頭 35 個字元。我們建議您設定不重複的 name,因為 Facebook 介面會展示 name 欄位報告的動作。

picturestring

此網址會決定與連結相關的預覽圖像(如要獲取最佳畫質,長闊比例必須為 1:1,尺寸最少必須為 458 x 458 px)。必須指定 pictureimage_hash

feed_targetingobject

控制此內容動態消息目標設定的物件。這些群組中的所有用戶都較有可能看到此內容,而不屬於這些群組的用戶則較少機會看到此內容,但仍有可能會看到。您可以使用此處顯示的所有目標指定欄位,但這些欄位不是必要項目。

age_maxint

年齡上限。必須為 65 歲或以下。

age_minint

必須為 13 歲或以上。預設為 0。

college_yearsint[]

大專院校畢業年分的整數陣列。

education_statusesint[]

根據教育程度鎖定目標的整數陣列。使用 1 代表高中、2 代表在讀大學生、3 代表大學畢業生(或本地同等學歷)。

genderslist<unsigned int32>

用於指定目標的性別。1 代表將目標指定為所有男性觀眾,2 代表女性觀眾。預設值為指定男性和女性觀眾。

geo_locationsobject

此物件可讓您指定多個不同的地理位置。請參閱我們的目標指定指南,了解更多有關此物件的資訊

interestsint[]

使用一個或多個編號,將目標指定為粉絲。使用 type=audienceinterest,將可使用的編號獲取為目標指定選項,並使用傳回的編號來指定目標。

localesint

指定為目標的本地語言。使用 adlocaletype尋找目標指定選項,並使用傳回的 key 來指定目標。

relationship_statuseslist<unsigned int32>

根據感情狀態指定目標的整數陣列。使用 1 代表單身、2 代表「戀愛中」、3 代表已婚、4 代表已訂婚。預設值為全部類型。

linkstring

附加至帖子的連結網址。必須提供 linkmessage。與 link 相關的其他欄位如下所示。如要了解限制,請參閱自訂連結部分

descriptionstring

覆寫連結預覽中的描述。

namestring

覆寫連結預覽的標題。

picturestring

決定與連結相關的預覽圖像。

thumbnailfile

預覽與您上載的連結相關的圖像。

messagestring

帖子的正文。此訊息或會包含 Facebook 專頁提及@[page-id]

multi_share_end_cardBoolean

如果設定為 false,則在使用 child_attachments 時不會顯示輪播廣告連結帖子的結束圖卡。預設為 true

multi_share_optimizedBoolean

如果設定為 true,而且僅在帖子用於廣告時才如此設定,則 Facebook 會自動選擇 child_attachments 連結的排序。否則,系統將保留 child_attachments 的原來排序。預設值為 true。

object_attachmentstring

用戶相簿中用作為縮圖的現有相片 Facebook 編號。他們必須是相片的擁有者,並且該相片不能是訊息附件的一部分。

placestring

此帖子相關位置的專頁編號。

publishedBoolean

系統有否展示關於最新發佈物件的限時動態。預設為 true,即系統會在動態消息中顯示限時動態。指定動作參數時,系統並不會(not)支援此欄位。未發佈帖子可以用於廣告。

scheduled_publish_timetimestamp

UNIX 時戳,表示帖子應在何時發佈。時間須為 API 要求後 10 分鐘至 75 日之間。

tagscsv[string]

逗號分隔清單,以列出標註於此帖子的用戶編號。您必須指定 place,方可指定此欄位。

targetingobject

限制此內容的廣告受眾之物件。任何不屬於此等人口統計資料群組的用戶將無法查看此內容。這不會覆寫任何可能存在的專頁級別人口統計限制。

age_minint

此值可以為 13、15、18、21 或 25。

geo_locationsobject

此物件可讓您指定多個不同的地理位置。請參閱我們的目標指定指南,了解更多有關此物件的資訊

在專頁帖子加入感受或動態

在專頁帖子加入感受或動態及圖示。在發佈感受或動態時,必須使用 og_action_type_idog_object_idog_icon_id 是選用項目,但如果不使用此項,系統便會根據 og_object_id 自動提供圖示。

欄位

名稱 說明

og_action_type_id

動作,如感受正在觀看等。

og_icon_id

可能用來代表動作類型的圖示,例如笑臉、電影圖示等。

og_object_id

動作的目標,例如開心電影等。這可以是預先定義物件,或任何 page_id

帖子範例

POST /v21.0/page-id/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+activity&og_action_type_id=383634835006146&og_object_id=136050896551329&og_icon_id=609297155780549
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/page-id/feed',
    array (
      'message' => 'This is a test activity',
      'og_action_type_id' => '383634835006146',
      'og_object_id' => '136050896551329',
      'og_icon_id' => '609297155780549',
    ),
    '{access-token}'
  );
} 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();
/* handle the result */
/* make the API call */
FB.api(
    "/page-id/feed",
    "POST",
    {
        "message": "This is a test activity",
        "og_action_type_id": "383634835006146",
        "og_object_id": "136050896551329",
        "og_icon_id": "609297155780549"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test activity");
params.putString("og_action_type_id", "383634835006146");
params.putString("og_object_id", "136050896551329");
params.putString("og_icon_id", "609297155780549");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/page-id/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test activity",
  @"og_action_type_id": @"383634835006146",
  @"og_object_id": @"136050896551329",
  @"og_icon_id": @"609297155780549",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/page-id/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

回應將為 post_id

贊助式專頁帖子

我們支援下列類型的贊助式專頁帖子:

帖子類型說明

連結

連結專頁帖子是向您網站分享連結的最有效方法,可讓您選擇替代圖像和加入額外文字。
請注意:Youtube 影片連結屬於連結專頁帖子。

相片

此為配有文字說明且說明當中包含選用連結的相片專頁帖子。

帖子

配有文字說明的專頁帖子。

影片

配有選用文字說明的影片專頁帖子。

贊助式專頁帖子與已發佈專頁帖子的處理方法相同,不過前者不會出現於 /feed

如要查看贊助式專頁帖子清單,請查詢 is_published 欄位。

curl -i -X GET \
 "https://graph.facebook.com/{page-id}/feed
 ?fields=is_published
 &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_published");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{page-id}/feed"
           parameters:@{ @"fields": @"is_published",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{page-id}/feed',
  'GET',
  {"fields":"is_published"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed?fields=is_published',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

如需查看 Facebook.com 上的帖子,您可以前往 https://www.facebook.com/{post-id} 查閱大部分帖子類型,或檢索帖子的 actions 欄位,此欄位包含用戶可在帖子中讚好或留言的網址。

專頁帖子 call_to_action

您可以使用呼籲字句按鈕來提升您的連結專頁帖子。以下 call_to_action 欄位可加入新的連結專頁帖子中。

名稱類型說明

call_to_action

object

指定呼籲字句按鈕的物件。這應是用戶查看您的帖子時,您希望他們採取的動作。點擊此按鈕後,用戶將會前往您所指定的連結。

type

string

決定呼籲字句按鈕的文字。以下是其中一個可以使用的值:

BOOK_TRAVEL。呼籲字句顯示為「立即預訂」。

BUY_NOW。呼籲字句顯示為「立即購買」。僅可用於虛擬商品的桌面版應用程式廣告

CALL_NOW。呼籲字句顯示為「立即致電」。僅可用於本地知名度廣告

DOWNLOAD。呼籲字句顯示為「下載」。

GET_DIRECTIONS。呼籲字句顯示為「查詢路線」。必須在 link 欄位指定座標。僅可用於本地知名度廣告

GET_QUOTE名單型廣告的呼籲字句顯示為「取得報價」。

INSTALL_APP。呼籲字句顯示為「立即安裝」。

INSTALL_MOBILE_APP。呼籲字句顯示為「立即安裝」。僅可用於流動應用程式廣告

LEARN_MORE。呼籲字句顯示為「了解詳情」。

LIKE_PAGE。呼籲字句顯示為「讚好專頁」。僅可用於擁有專頁讚好目標的廣告。

LISTEN_MUSIC。呼籲字句顯示為「聆聽音樂」。

MESSAGE_PAGE。呼籲字句顯示為「傳送訊息」。僅可用於本地知名度廣告

NO_BUTTON。不顯示任何呼籲字句。

OPEN_LINK。呼籲字句顯示為「開啟連結」。僅可用於擁有網站點擊目標的廣告。

PLAY_GAME。呼籲字句顯示為「玩遊戲」。僅可用於桌面版應用程式廣告

SHOP_NOW。呼籲字句顯示為「立即選購」。僅可用於擁有網站轉換目標的廣告。

SIGN_UP。呼籲字句顯示為「立即註冊」。

SUBSCRIBE名單型廣告的呼籲字句顯示為「立即訂閱」。

USE_APP。呼籲字句顯示為「使用應用程式」。

USE_MOBILE_APP。僅可用於流動應用程式廣告

WATCH_MORE。呼籲字句顯示為「繼續觀看」。

WATCH_VIDEO。呼籲字句顯示為「觀看影片」。

自訂連結專頁帖子圖像

利用自訂連結圖像向專頁發佈連結。限時動態的附件會顯示從連結檢索的圖像。目前,您可以在選用 picture 參數中提供新圖像網址,以覆寫該圖像。thumbnail 參數亦能提供類似的功能,兩者最大的分別在於此參數接受在 API 呼叫中上載至 Facebook 的本地圖像檔案。

權限

  • 必須使用專頁存取憑證。
  • 必須是發佈帖子的專頁擁有的連結。

如要驗證連結的所有權,請在 URL 節點上檢查 ownership_permissions{can_customize_link_posts} 欄位。您必須在發佈新連結前呼叫此端點。如果沒有此步驟,自訂連結專頁帖子將無法用於未抓取連結。如需詳細資訊,請參閱我們的連結擁有權指南。v2.10 版及以下版本的 picturenamethumbnaildescription 已停用。所有版本的 caption 均已停用。

參數類型說明

description

字串

連結的說明(顯示在連結說明文字下方)。如果未有指定,此欄位會自動填入從連結抓取的資料,通常會是網頁的標題。

name

字串

連結附件的名稱。此欄位會自動填充從連結抓取的資訊。

picture

字串

圖像的網址。系統將由 picture 提供的網址擷取圖像

thumbnail

file

需上載的圖像檔案。接受 .jpg.jpeg.gif.png。系統將由上載至 thumbnail 的檔案擷取圖像

限制

  • thumbnail 參數僅可用於 Facebook 專頁的連結帖子。
  • thumbnail 參數的優先順序高於 picture 參數。如果您同時提供兩者,則系統不會使用 picture 參數。
  • thumbnail 參數接受副檔名為 .jpg.jpeg.gif.png 的圖像。
  • 批量要求並不支援 thumbnail 參數。

向專頁發佈連結

/page/feed 關係連線傳送一個 POST 要求,以向專頁發佈連結。將 publish 參數設為 1,以立即發佈帖子;或將之設為 0,以建立稍後發佈的未發佈帖子。

要求範例

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become%20a%20Facebook%20developer!
  &link=https%3A%2F%2Fdevelopers.facebook.com
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

回應範例

{"id":"{post-id}"}

含有呼籲字句的連結專頁帖子

call_to_action 欄位會指定相應的動作和相關連結。此連結將與專頁帖子的 link 參數相同。在此呼叫中,titledescriptioncaptionpicture 為選用項目。如果不提供這些項目,Facebook 會從連結的開放式圖表中繼資料中讀取同等屬性。如果已連結的網頁沒有開放式圖表中繼資料,Facebook 會抓取網頁內容,以嘗試猜測這些屬性。

要求範例

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become a Facebook developer!
  &link=https://developers.facebook.com
  &call_to_action={"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\",\"call_to_action\":\"{\\\"type\\\":\\\"SIGN_UP\\\",\\\"value\\\":{\\\"link\\\":\\\"https://developers.facebook.com\\\"}}\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",@"call_to_action": @"{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1","call_to_action":"{\"type\":\"SIGN_UP\",\"value\":{\"link\":\"https://developers.facebook.com\"}}"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1',
      'call_to_action' => '{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

回應範例

{"id":"{post-id}"}

含有自訂已上載圖像的連結帖子

使用本機檔案:

curl -F 'link=http://www.example.com' \
     -F 'thumbnail=@/local/path/to/file/on/hard/drive/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

傳回值

{"id":"post-id"}

透過網址使用圖像:

curl -F 'link=http://www.example.com' \
     -F 'picture=https://www.example.com/path/to/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

傳回值

{"id":"post-id>"}

相片專頁帖子

如要了解更多資訊,請瀏覽我們的相片節點參考資料

影片專頁帖子

如要了解更多資訊,請瀏覽我們的專頁影片參考資料

專頁帖子洞察報告

如要了解更多資訊,請瀏覽我們的專頁帖子洞察報告參考資料

更新

您無法使用此關係連線更新帖子,但是您可以使用 /{post-id} 節點以作更新

刪除

您無法使用此關係連線刪除帖子,但是您可以使用 /{post-id} 節點以作刪除