圖形 API 版本

粉絲專頁動態

此端點可用來取得及發佈至粉絲專頁。粉絲專頁動態包含與 Facebook 粉絲專頁進行的任何互動,包括:此粉絲專頁發佈的貼文和連結、此粉絲專頁的訪客,以及標註該粉絲專頁的公開貼文。

另請參閱

讀取

Facebook 粉絲專頁的貼文。

新版粉絲專頁體驗

此 API 支援全新的粉絲專頁體驗。

必備條件

要求存取權杖的用戶必須能夠在粉絲專頁上執行下列其中一項任務:

  • CREATE_CONTENT – 以粉絲專頁的身分在粉絲專頁上發佈內容
  • MANAGE – 指派和管理粉絲專頁任務
  • MODERATE
    • 以粉絲專頁的身分回覆粉絲專頁貼文的留言
    • 刪除粉絲專頁貼文的留言
    • 如果 Instagram 帳號已連結粉絲專頁,可從 Facebook 將內容發佈至 Instagram、回覆和刪除留言、傳送 Direct 訊息、同步商家聯絡資料,以及建立廣告。

並且已授予應用程式下列必要權限:

如果您未擁有或管理粉絲專頁,則需要:

使用粉絲專頁公開內容存取權限功能時,請使用系統使用者存取權杖以避免遇到限速問題。

要求範例

圖形 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..."
  }
}

限制

  • 過期的貼文:如果貼文過期,您將無法再使用圖形 API 來查看內容。
  • 貼文上限
    • API 每年會傳回大約 600 則已排序且已發佈的貼文。
    • 您最多只能讀取 100 則含有 limit 欄位的動態消息貼文。若嘗試讀取更多數量,將會收到無法顯示超出 100 則貼文的錯誤訊息。
  • 訊息 CTA:無法使用其他粉絲專頁的存取權杖來存取具有訊息 CTA 的貼文,因為粉絲專頁不能對其他粉絲專頁傳送訊息。
  • 公開識別資訊:回應不會包含用戶資訊,除非您以粉絲專頁存取權杖提出要求。
  • 發佈的貼文:查詢「/{page-id}/feed」端點時,系統將傳回已發佈和未發佈的貼文。使用「is_published」欄位來只傳回已發佈的貼文。
  • 分享的貼文:若原始貼文因使用存取權杖而無法顯示,則無法顯示分享自其他粉絲專頁或用戶的粉絲專頁貼文。
  • 標註的貼文:使用 /{page-id}/tagged 來顯示標註此粉絲專頁的貼文時,結果會包含其他粉絲專頁的貼文(必須經過驗證)。
  • 用戶代理程式:這些圖形 API 呼叫可用的用戶代理程式,如有變更,將不另行通知。若您碰到問題,可能要將某個用戶代理程式變更為更新的版本。
  • 影片貼文:若要取得影片貼文清單,提出要求的用戶必須是該粉絲專頁的管理員。
  • Reels:若要取得發佈至粉絲專頁的 Reels 清單,請使用粉絲專頁 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

是否為 360 度影片貼文。

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

標註和貼文發佈者在一起的個人檔案。若您使用用戶存取權杖讀取這個欄位,系統只會傳回目前的用戶。


針對圖形 API 和行銷 API 3.3 以上版本,此端點將於 2019 年 4 月 30 日停用。過去 90 天內已使用此端點的應用程式,在 2019 年 7 月 30 日之前可以搭配 API 3.2 以下版本繼續使用。自 2019 年 4 月 30 日起,過去 90 天內未使用此端點的應用程式將無法使用。

可推廣的編號

尋找可加強推廣的貼文時,必須使用 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 像素,才能呈現最佳顯示效果)。必須指定 pictureimage_hash

linkstring

附加至貼文的連結網址。此為必填欄位。

namestring

連結預覽的標題。若未指定,系統會使用連結頁面的標題。此欄位通常在超過 35 個字元後會截斷。建議設定一個不重複的 name,因為 Facebook 介面會顯示 name 欄位上回報的動作。

picturestring

決定與連結相關聯的預覽圖像的網址(長寬比 1:1 且至少 458 x 458 像素,才能呈現最佳顯示效果)。必須指定 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

已鎖定的地區設定。使用 typeadlocale尋找目標設定選項,並使用傳回的 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} 欄位。您必須在發佈新的連結之前呼叫此端點。若缺少此步驟,自訂粉絲專頁貼文連結不會針對未抓取的連結進行動作。如需詳細資訊,請參閱連結擁有權指南。若使用 2.10 和以下版本,picturenamethumbnaildescription 已停用。所有版本的 caption 已停用。

參數類型說明

description

字串

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

name

字串

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

picture

字串

圖像網址。圖像源自在 picture 提供的網址

thumbnail

檔案

要上傳的圖像檔案。接受 .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} 節點刪除貼文