此端點可用來取得及發佈至粉絲專頁。粉絲專頁動態包含與 Facebook 粉絲專頁進行的任何互動,包括:此粉絲專頁發佈的貼文和連結、此粉絲專頁的訪客,以及標註該粉絲專頁的公開貼文。
/{page-post-id}
端點可讓您更新特定的粉絲專頁貼文。/{page-id}/tagged
端點只擷取標註粉絲專頁的公開貼文。Facebook 粉絲專頁的貼文。
此 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
}];
{ "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..." } }
limit
欄位的動態消息貼文。若嘗試讀取更多數量,將會收到無法顯示超出 100 則貼文的錯誤訊息。/{page-id}/tagged
來顯示標註此粉絲專頁的貼文時,結果會包含其他粉絲專頁的貼文(必須經過驗證)。限制:系統會在動態消息端點中提取所有貼文(已發佈和未發佈)。唯一的差異是,系統不會在實體動態消息中列示未發佈的貼文。不過,您可以在 /feed 端點加入一個 is_published 欄位,讓開發人員知道 /feed 端點中所列示的貼文是否已發佈
名稱 | 類型 | 說明 | ||
---|---|---|---|---|
id | string | 貼文的編號。 | ||
actions | object | 貼文、留言、讚、分享的動作連結。 | ||
admin_creator | object | 粉絲專頁貼文的管理員創作者。如果粉絲專頁只有一個管理員,系統不會傳回資料。必須要有粉絲專頁存取權杖和 | ||
allowed_advertising_objects | string | 可以宣傳此貼文的唯一目標。 | ||
application | object | 發佈此貼文的應用程式的相關資訊。 | ||
attachments | object | 與限時動態相關的任何附件。請參閱 | ||
backdated_time | float | 回溯貼文的回溯日期。針對一般貼文,將此欄位設為 null。 | ||
call_to_action | object | 任何粉絲專頁貼文使用的行動呼籲類型,適用於行動應用程式互動廣告。 | ||
can_reply_privately | boolean | 粉絲專頁瀏覽者是否可傳送私人回覆至此貼文。必須要有 | ||
caption 粉絲專頁貼文第 3.3 版及以上版本已停用。 | string | 貼文中顯示在 | ||
child_attachments | object | 多連結分享貼文的次要分享。 | ||
created_time | float | 最初發佈貼文的時間。若發佈關於生活要事的貼文,這會成為生活要事的日期和時間。 | ||
description 粉絲專頁貼文第 3.3 版及以上版本已停用。請改用 | string | 貼文中的連結說明(出現在 | ||
feed_targeting | object | 物件,用於控制此貼文的動態消息目標設定。這些群組中人看見這則貼文的機率較高,其他人看見這則貼文的機率較低,但還是能看見。此處顯示的任何目標設定欄位皆可使用,無需任何條件(僅適用於粉絲專頁)。 | ||
from |
| 建立貼文的粉絲專頁、社團或活動的 | ||
full_picture | string | 在貼文發佈的完整大小相片或從貼文中連結所抓取的網址。如果相片的最大尺寸超過 720 個像素,系統會調整大小,最大尺寸設定為 720。 | ||
icon | string | 代表此貼文類型的圖示連結。 | ||
instagram_eligibility | enum{} | 貼文是否可在 Instagram 推廣。如果可以推廣,系統會傳回列舉
| ||
is_eligible_for_promotion | boolean | 指示貼文是否符合推廣活動的資格。 | ||
is_expired | boolean | 貼文是否具有已通過的到期時間。 | ||
is_hidden | boolean | 如果此貼文標示為隱藏(僅適用於粉絲專頁)。隱藏貼文會將其隱藏在粉絲專頁的動態時報中,但仍會在 Facebook 上的其他位置(例如連結)顯示。 | ||
is_instagram_eligible | string | 此貼文是否可在 Instagram 推廣。 | ||
is_popular | boolean | 是否為熱門貼文。依動作總數的百分比是否超過特定閾值而定。 | ||
is_published | boolean | 表示是否已經發佈了排定要發佈的貼文(僅適用於已排定的粉絲專頁貼文,若使用用戶貼文和立即發佈貼文,此值一律是 | ||
is_spherical | boolean | 是否為 360 度影片貼文。 | ||
link 粉絲專頁貼文第 3.3 版及以上版本已停用。 請改用 | string | 附加至此貼文的連結。 | ||
message | string | 貼文的狀態訊息。 | ||
message_tags | array | 在 | ||
name 粉絲專頁貼文第 3.3 版及以上版本已停用。 請改用 | string |
| ||
object_id 粉絲專頁貼文第 3.3 版及以上版本已停用。 請改用 | string | 任何附加至貼文的已上傳相片或影片的編號。 | ||
parent_id | string | 此貼文的上層貼文編號(如有)。例如,若這則限時動態是「貼文中提及您的粉絲專頁」限時動態, | ||
permalink_url | string | www.facebook.com 貼文的永久靜態網址。範例:https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553。 | ||
place | string | 與此貼文相關的地標編號。 | ||
privacy | object | 貼文的隱私設定。 | ||
promotable_id | string | 適用於無法直接推廣的限時動態推廣活動的貼文編號。 | ||
promotion_eligibility 已停用。請參閱 | boolean | |||
promotion_status 已停用。請參閱 | string | |||
properties | object | 任何附加影片的屬性清單,例如影片長度。 | ||
sheduled_publish_time | float | 貼文排程發佈時間的 UNIX 時間戳記。 | ||
shares | object | 此貼文的分享次數。分享次數可能包括已刪除的貼文,以及基於隱私原因而無法查看的貼文。 | ||
source 粉絲專頁貼文第 3.3 版及以上版本已停用。 請改用 | string | 附加至貼文的任何 Flash 電影或影片檔案網址。 | ||
status_type | enum{} | 近況更新的類型。值包括:
| ||
story | string | 用戶非刻意產生的限時動態文字,例如新增相片時產生的限時動態文字。必須在應用程式中啟用「包括近期活動限時動態」移轉,才能擷取此欄位。 | ||
story_tags | array | 貼文說明中的標籤清單。 | ||
subscribed | boolean | 用戶是否訂閱貼文。 | ||
targeting | object | 針對此內容限制廣告受眾的物件。只有指定人口統計資料中的廣告受眾才能查看此內容。人口統計資料採用累加。每個額外值會增加廣告受眾至累計的目標廣告受眾。這些值不會覆寫可能出現的粉絲專頁層級人口統計資料限制。 | ||
to |
| 此貼文提及或鎖定的個人檔案。若您使用用戶存取權杖讀取這個欄位,系統只會傳回目前的用戶。 | ||
type 粉絲專頁貼文第 3.3 版及以上版本已停用。 請改用 | enum{} | 代表此貼文物件類型的字串。
| ||
updated_time | float | 貼文上次更新時間,發生在貼文建立、編輯,或用戶對貼文留言時,以 UNIX 時間戳記表示。 | ||
video_buying_eligibility | array | 貼文是否可使用不同影片購買選項進行推廣。當影片符合資格時,系統會傳回空白清單,否則會傳回無法推廣該貼文的原因清單。 | ||
with_tags |
| 標註和貼文發佈者在一起的個人檔案。若您使用用戶存取權杖讀取這個欄位,系統只會傳回目前的用戶。 針對圖形 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}"
{ "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" }, ...
請前往我們的使用說明,瞭解貼文可能無法加強推廣的原因。
請前往我們的貼文參考文件,瞭解所有可用的貼文欄位。
您可以使用此關係連線發佈到粉絲專頁。必須提供 link
或 message
。
此 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
的圖形測試工具測試:
名稱 | 類型 | 說明 |
---|---|---|
actions | array | 附加至貼文的動作連結。 |
backdated_time | float | 指定過去一段時間來回溯此貼文的日期。 |
backdated_time_granularity | enum{year, month, day, hour, minute} | 控制回溯日期貼文的顯示方式。例如,若您選擇 |
child_attachments | object | 用來指定貼文的多個連結。最少 2 個、最多 5 個物件。若您設定 multi_share_optimized 為 true,最多可上傳 10 個物件,但 Facebook 只會顯示前 5 個。 |
feed_targeting | object | 針對此內容控制動態目標設定的物件。這些社團中的任何人比較有機會看到此內容,其他人的機會則較少,但還是能看見。此處顯示的任何目標設定欄位皆可使用,無需任何條件。 |
link | string | 附加至貼文的連結網址。必須提供 |
message | string | 貼文主體。訊息可包含 Facebook 粉絲專頁提及 |
multi_share_end_card | Boolean | 若設為 |
multi_share_optimized | Boolean | 若設為 |
object_attachment | string | 用戶相簿中既有圖片的 Facebook 編號,作為縮圖圖像使用。他們必須是相片的擁有者,且相片無法成為訊息附件的一部分。 |
place | string | 與此貼文關聯的位置的粉絲專頁編號。 |
published | Boolean | 是否顯示關於此新發佈物件的限時動態。預設為 |
scheduled_publish_time | timestamp | UNIX 時間戳記指示貼文應該上線的時間。時間應為 API 要求時間之後的 10 分鐘至 75 天之間。 |
tags | csv[string] | 用戶編號的逗號分隔清單,其中有此貼文標註的用戶。您要指定此欄位,才能指定 |
targeting | object | 針對此內容限制廣告受眾的物件。不在這些人口統計資料的人無法查看此內容。這不會覆寫可能出現的粉絲專頁層級人口統計資料限制。 |
新增心情或動態,以及圖示至粉絲專頁貼文。發佈心情或動態時,需要 og_action_type_id
和 og_object_id
。og_icon_id
為選用,但若未使用,系統會根據 og_object_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
。
我們支援下列類型的贊助式專頁貼文:
貼文類型 | 說明 |
---|---|
粉絲專頁貼文連結最適合分享連結至網站。可對圖像和額外文字進行選擇性取代。 | |
粉絲專頁貼文相片,含有文字說明和作為說明的選填連結。 | |
含有文字說明的粉絲專頁貼文。 | |
含有選填文字說明的粉絲專頁貼文影片。 |
贊助式專頁貼文與已發佈粉絲專頁貼文皆相同,只是贊助式專頁貼文不會出現在 /feed
中。
若要查看贊助式專頁貼文清單,請查詢 is_published
欄位。
curl -i -X GET \
"https://graph.facebook.com/{page-id}/feed
?fields=is_published
&access_token={your-page-access-token}"
若要查看 Facebook.com 的貼文,瀏覽 https://www.facebook.com/{post-id},即可瞭解多數貼文類型,或擷取貼文的 actions
欄位,其中含有網址,用戶可在貼文按讚或留言。
您可以使用行動呼籲按鈕推廣粉絲專頁貼文連結。下列 call_to_action
欄位可以加入新的粉絲專頁貼文連結。
名稱 | 類型 | 說明 |
---|---|---|
|
| 指定「行動呼籲」按鈕的物件。這是用戶查看貼文時,您希望用戶進行的動作。點擊此按鈕就會帶用戶前往您指定的連結。 |
張貼具有自訂連結圖像的粉絲專頁連結時,限時動態的附件會轉譯從連結擷取的圖像。目前可以透過提供一個選擇性的 picture
參數和指向新圖像的網址來覆寫該圖像。thumbnail
參數提供類似的功能,主要區別在於該參數接受在 API 呼叫中上傳到 Facebook 的本地圖像檔案。
若要驗證連結擁有權,請查看 URL
節點上的 ownership_permissions{can_customize_link_posts}
欄位。您必須在發佈新的連結之前呼叫此端點。若缺少此步驟,自訂粉絲專頁貼文連結不會針對未抓取的連結進行動作。如需詳細資訊,請參閱連結擁有權指南。若使用 2.10 和以下版本,picture
、name
、thumbnail
和 description
已停用。所有版本的 caption
已停用。
參數 | 類型 | 說明 |
---|---|---|
| 字串 | 連結的說明(顯示在連結文字下方)。如果未指定,此欄位會自動填入從連結抓取的資訊,通常是網頁的標題。 |
| 字串 | 連結附件的名稱。此欄位會自動填入從連結抓取的資訊。 |
| 字串 | 圖像網址。圖像源自在 |
| 檔案 | 要上傳的圖像檔案。接受 |
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}"
{"id":"{post-id}"}
call_to_action
欄位指定合適的動作和相關連結。此連結應當和粉絲專頁貼文的 link
參數相同。在此呼叫中,title
、description
、caption
和 picture
為選填,如未提供,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}"
{"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}
節點刪除貼文。