ページの取得とページへの公開を行うには、このエンドポイントを使用します。ページフィードは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件のフィード投稿のみを読み取ることができます。100件を超えるフィード投稿を読み取ろうとすると、100件を超えてはならない旨のエラーメッセージが表示されます。/{page-id}/tagged
を使用して当該ページをタグ付けする投稿を表示するとき、他のページからの投稿は、それらのページが信頼できる場合にのみ結果に含まれます。制限: すべての投稿(公開・非公開)はフィードエンドポイントに引き込まれます。唯一の違いは非公開の投稿は物理的なフィードに表示されないことです。しかし、/feedエンドポイントに記載されている投稿が公開されているかどうかを開発者に知らせるために、is_publishedフィールドを/feedエンドポイントに追加することができます
名前 | 型 | 説明 | ||
---|---|---|---|---|
id | string | 投稿のID。 | ||
actions | object | 投稿、コメント、「いいね!」、シェアのアクションリンク。 | ||
admin_creator | object | ページ投稿を作成した管理者。ページに管理者が1人しかいない場合、データは返されません。ページアクセストークンと | ||
allowed_advertising_objects | string | この投稿で広告掲載を行うことが許可されている目的。 | ||
application | object | この投稿を公開したアプリに関する情報。 | ||
attachments | object | ストーリーに関連付けられた添付。 | ||
backdated_time | float | 過去日付の投稿の日時。通常の投稿の場合、このフィールドはnullに設定されます。 | ||
call_to_action | object | モバイルアプリのエンゲージメント広告のページ投稿で使用されているコールトゥアクションのタイプ。 | ||
can_reply_privately | boolean | ページの閲覧者がこの投稿に非公開の返信を送信できるかどうか。 | ||
caption ページ投稿v3.3以降で廃止されました。 | string |
| ||
child_attachments | object | マルチリンクのシェア投稿のサブシェア。 | ||
created_time | float | 投稿が最初に公開された日時。ライフイベントに関する投稿の場合は、ライフイベントの日時です。 | ||
description ページ投稿v3.3以降で廃止されました。代わりに | string | 投稿内のリンクの説明( | ||
feed_targeting | object | この投稿のフィードターゲットを管理するオブジェクト。これらのグループに属する人は、この投稿を見る可能性が高くなります。それ以外のユーザーが見る可能性もありますが、低くなります。ここに表示されるターゲット設定フィールドはどれでも使用できますが、必須フィールドではありません(ページにのみ適用されます)。 | ||
from |
| 投稿を作成したページ、グループ、またはイベントの | ||
full_picture | string | 投稿で公開された、または投稿内のリンクからスクレイピングされた、フルサイズバージョンの写真のURL。写真の最大サイズが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 ページ投稿v3.3以降で廃止されました。 代わりに | string | この投稿に添付されたリンク。 | ||
message | string | 投稿に含まれるステータスメッセージ。 | ||
message_tags | array |
| ||
name ページ投稿v3.3以降で廃止されました。 代わりに | string |
| ||
object_id ページ投稿v3.3以降で廃止されました。 代わりに | string | 投稿に添付された、アップロード済みの写真または動画のID。 | ||
parent_id | string | この投稿の親投稿のID (存在する場合)。たとえば、「あなたのページが投稿でメンションされました」というストーリーの場合、 | ||
permalink_url | string | www.facebook.com上の投稿の永続的な静的URL。例: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553 | ||
place | string | この投稿に関連付けられた場所のID。 | ||
privacy | object | 投稿のプライバシー設定。 | ||
promotable_id | string | 直接宣伝できないストーリーの宣伝に使用する投稿のID。 | ||
promotion_eligibility 廃止。 | boolean | |||
promotion_status 廃止。 | string | |||
properties | object | 添付された動画のプロパティ(動画の長さなど)のリスト。 | ||
sheduled_publish_time | float | 投稿のスケジュール設定された公開日時を示すUNIXタイムスタンプ。 | ||
shares | object | この投稿がシェアされた回数。シェアされた回数には、削除された投稿やプライバシー上の理由で閲覧できない投稿も含まれます。 | ||
source ページ投稿v3.3以降で廃止されました。 代わりに | string | 投稿に添付されたFlashムービーまたは動画ファイルのURL。 | ||
status_type | enum{} | ステータス更新のタイプ。値は以下のとおりです。
| ||
story | string | ユーザーが意図的に作成したものではないストーリー(写真が追加されたときに生成されたストーリーなど)のテキスト。このフィールドを取得するには、アプリで「最近のアクティビティストーリーを含める」のマイグレーションを有効にする必要があります。 | ||
story_tags | array | 投稿の説明に含まれるタグのリスト。 | ||
subscribed | boolean | ユーザーが投稿をサブスクリプション登録しているかどうか。 | ||
targeting | object | このコンテンツのオーディエンスを制限するオブジェクト。指定された利用者層データに含まれるオーディエンスのみがこのコンテンツを閲覧できます。利用者層データは追加可能です。値を追加するたびに、その値のターゲットオーディエンスが累積的に追加されます。これらの値は、すでに設定されているページレベルの利用者層データの制限をオーバーライドすることはありません。 | ||
to |
| この投稿でメンションまたはターゲット設定されたプロフィール。ユーザーアクセストークンを使用してこのフィールドを読み取った場合は、現在のユーザーのみが返されます。 | ||
type ページ投稿v3.3以降で廃止されました。 代わりに | enum{} | この投稿のオブジェクトタイプを示す文字列。
| ||
updated_time | float | 投稿が最後に更新された日時。この値は、投稿が作成または編集された時点か、ユーザーが投稿にコメントした時点で更新されます。UNIXタイムスタンプで表されます。 | ||
video_buying_eligibility | array | 投稿を異なる動画購入オプションで宣伝できるかどうか。宣伝できる場合は、空のリストが返されます。宣伝できない場合は、投稿を宣伝できない理由のリストが返されます。 | ||
with_tags |
| 投稿のパブリッシャーが含まれていることを示すタグが付けられたプロフィール。ユーザーアクセストークンを使用してこのフィールドを読み取った場合は、現在のユーザーのみが返されます。 バージョン3.3以降のグラフAPIとマーケティングAPIでは、このエンドポイントは2019年4月30日に廃止されます。過去90日間にこのエンドポイントを使用したアプリは、2019年7月30日まで、APIバージョン3.2以下を使用して引き続きこのエンドポイントを使用できます。過去90日間にこのエンドポイントを使用しなかったアプリは、2019年4月30日以降、このエンドポイントを使用できなくなります。 |
宣伝に使用できる投稿を見つける際は、promotable_id
を使用して広告を作成する必要があります。ほとんどの場合、この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" }, ...
投稿を宣伝できない理由については、Facebookのヘルプセンターをご覧ください。
利用可能な投稿フィールドの一覧については、投稿のリファレンスドキュメントをご覧ください。
次のエッジを使用してページに公開できます。link
またはmessage
のいずれかを指定する必要があります。
このAPIは、新しいページエクスペリエンスでサポートされています。
CREATE_CONTENT
タスクを実行できる場合は、以下が必要です。
投稿はページが発信したものとして表示されます。
クエリするページで
実行できるユーザーがリクエストするページアクセストークン
注: 閲覧者またはアプリがlink
のURLを表示できない場合、投稿は失敗します。
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
を使用したGraph Explorer Toolでのテストの例
名前 | 型 | 説明 |
---|---|---|
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 | 投稿に添付するリンクのURL。 |
message | string | 投稿の本文。メッセージには、Facebookページのメンションである |
multi_share_end_card | Boolean |
|
multi_share_optimized | Boolean |
|
object_attachment | string | サムネイル画像として使用される、ユーザーの写真アルバム内にある写真のFacebook ID。そのユーザーが所有する写真でなければならず、メッセージ添付に含めることはできません。 |
place | string | この投稿に関連付けられる位置情報のページID。 |
published | Boolean | この新規公開されるオブジェクトについてのストーリーを表示するかどうか。デフォルトは |
scheduled_publish_time | timestamp | 投稿をいつ公開するかを示すUNIXタイムスタンプ。APIリクエストの時点から10分後~75日後の日付にする必要があります。 |
tags | csv[string] | この投稿でタグ付けされた人のユーザーIDのコンマ区切りリスト。このフィールドを指定する場合は、 |
targeting | object | このコンテンツのオーディエンスを制限するオブジェクト。これらの利用者データに含まれていない人は、このコンテンツを見ることができません。ページレベルの利用者データの制限が存在する場合、この設定によってそれらはオーバーライドされません。 |
フィーリングまたはアクティビティをアイコンとともにページ投稿に追加します。フィーリングまたはアクティビティを投稿する場合は、og_action_type_id
とog_object_id
の使用が必須です。og_icon_id
の使用は任意ですが、使用しない場合、og_object_id
に基づいて自動的にアイコンが指定されます。
名前 | 説明 |
---|---|
アクション(feelingやwatchingなど)。 | |
ほとんどの場合は、アクションのタイプを表すアイコン(笑顔アイコンや映画アイコンなど)。 | |
アクションのターゲット(happyやmovieなど)。定義済みオブジェクトまたは |
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}"
ほとんどの投稿タイプの場合、https://www.facebook.com/{post-id}にアクセスすればFacebook.com上で投稿を見ることができます。または、ユーザーが投稿に「いいね!」したりコメントしたりできるURLを含む投稿のactions
フィールドを取得して、投稿を見ることもできます。
コールトゥアクションボタンにより、リンクページ投稿の機能を強化できます。次のcall_to_action
フィールドを新しいリンクページ投稿に追加できます。
名前 | 型 | 説明 |
---|---|---|
|
| [コールトゥアクション]ボタンを指定するオブジェクト。これは、利用者が投稿を見たときに実行するアクションにします。このボタンをクリックすると、指定するリンクに利用者が誘導されます。 |
カスタマイズしたリンク画像を付けてページへのリンクを投稿します。リンクから抽出された画像がストーリーの添付によってレンダリングされます。現在は、省略可能なpicture
パラメーターで新しい画像へのURLを指定して、その画像をオーバーライドできます。thumbnail
パラメーターも同様の機能を提供しますが、このパラメーターはAPI呼び出しでFacebookにアップロードされるローカル画像ファイルを受け入れる点が大きく異なります。
リンクの所有権は、URL
ノードのownership_permissions{can_customize_link_posts}
フィールドで確認できます。新しいリンクを投稿する前にこのエンドポイントを呼び出す必要があります。このステップを実行しないと、カスタムリンクページ投稿はスクレイピングされてないリンクに対して機能しません。詳しくは、リンクの所有権に関するガイドをご覧ください。picture
、name
、thumbnail
、description
はバージョン2.10以前のバージョンで廃止され、caption
はすべてのバージョンで廃止されました。
パラメーター | 型 | 説明 |
---|---|---|
| 文字列 | リンクの説明(リンクキャプションの下に表示されます)。指定しない場合、このフィールドには、リンクからスクレイピングされた情報(通常はページのタイトル)が自動的に入力されます。 |
| 文字列 | リンク添付の名前。このフィールドには、リンクからスクレイピングされた情報が自動的に入力されます。 |
| 文字列 | 画像のURL。画像は、 |
| ファイル | アップロードされる画像ファイル。指定できる値は、 |
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
は省略可能です。指定しなかった場合は、リンクのOpen Graphメタデータからそれらに相当するプロパティが読み取られます。リンク先のウェブページにOpen Graphメタデータがない場合、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}
ノードを使用して投稿を削除することはできます。