グラフAPIバージョン

ページフィード

ページの取得とページへの公開を行うには、このエンドポイントを使用します。ページフィードはFacebookページとのあらゆるやり取りを含みます。例えば、このページによって公開された投稿やリンク、このページへの訪問者、ページがタグ付けされた公開投稿などです。

参考情報

読み取り

Facebookページの投稿。

新しいページエクスペリエンス

このAPIは、新しいページエクスペリエンスでサポートされています。

要件

アクセストークンをリクエストする人は、ページで次のいずれかのタスクを実行できる必要があります。

  • CREATE_CONTENT – ページとして、ページのコンテンツを公開する
  • MANAGE – ページタスクを割り当てて管理する
  • MODERATE
    • ページとして、ページ投稿に付けられたコメントに返信する
    • ページ投稿に付けられたコメントを削除する
    • Instagramアカウントがページにリンクしている場合、FacebookからInstagramへのコンテンツ公開、コメントへの返信と削除、ダイレクトメッセージの送信、ビジネス連絡先情報の同期、広告の作成を行えます。

さらに、アプリに以下のアクセス許可が必要です。

ページの所有者または管理者でない場合は、以下が必要です。

ページの公開コンテンツへのアクセス機能を使用する際は、レート制限の問題を回避するため、システムユーザーアクセストークンを使用してください。

リクエストの例

グラフAPIエクスプローラ
GET /v19.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は、1年に公開された、ランク付けされた投稿を約600件返します。
    • limitフィールドでは、最大100件のフィード投稿のみを読み取ることができます。100件を超えるフィード投稿を読み取ろうとすると、100件を超えてはならない旨のエラーメッセージが表示されます。
  • メッセージCTA - メッセージCTAがある投稿に、他のページのアクセストークンを使用してアクセスすることはできません。ページはほかのページにメッセージを送信できないからです。
  • 個人を特定できる公開情報 - ページアクセストークンを使用してリクエストしない限り、応答にユーザー情報は含まれません。
  • 公開された投稿 – /{page-id}/feedエンドポイントに問い合わせると、公開された投稿と未公開の投稿が返されます。公開された投稿のみを返すにはis_publishedフィールドを使用してください。
  • シェアされた投稿 - 別のページやユーザーからの投稿をシェアするページ投稿は、使用中のアクセストークンで元の投稿が表示されない場合、表示できないことがあります。
  • タグ付けされた投稿 - /{page-id}/taggedを使用して当該ページをタグ付けする投稿を表示するとき、他のページからの投稿は、それらのページが信頼できる場合にのみ結果に含まれます。
  • ユーザーエージェント - これらのグラフAPI呼び出しで許可される利用可能なユーザーエージェントは、予告なしに変更されることがあります。問題が発生した場合、特定のユーザーエージェントを新しいバージョンに変更すると解決することもあります。
  • 動画投稿 - 動画投稿の一覧を取得するには、リクエストする人がそのページの管理者である必要があります。
  • リール ページに公開されているリールの一覧を取得するには、Page VideoReelsエッジを使用します。

制限: すべての投稿(公開・非公開)はフィードエンドポイントに引き込まれます。唯一の違いは非公開の投稿は物理的なフィードに表示されないことです。しかし、/feedエンドポイントに記載されている投稿が公開されているかどうかを開発者に知らせるために、is_publishedフィールドを/feedエンドポイントに追加することができます

フィールド

名前説明
idstring

投稿のID。

actionsobject

投稿、コメント、「いいね!」、シェアのアクションリンク。

admin_creatorobject

ページ投稿を作成した管理者。ページに管理者が1人しかいない場合、データは返されません。ページアクセストークンとbusiness_managementアクセス許可が必要です。

idint

ユーザー、アプリ、またはビジネスのID。

namestring

ユーザー、アプリ、またはビジネスの名前。

allowed_advertising_objectsstring

この投稿で広告掲載を行うことが許可されている目的。

applicationobject

この投稿を公開したアプリに関する情報。

attachmentsobject

ストーリーに関連付けられた添付。attachmentsフィールドについては、ストーリー添付ノードのリファレンスをご覧ください。

backdated_timefloat

過去日付の投稿の日時。通常の投稿の場合、このフィールドはnullに設定されます。

call_to_actionobject

モバイルアプリのエンゲージメント広告のページ投稿で使用されているコールトゥアクションのタイプ。

contextobject

モバイルアプリのエンゲージメント広告のページ投稿で使用されているコールトゥアクションのタイプ。

can_reply_privatelyboolean

ページの閲覧者がこの投稿に非公開の返信を送信できるかどうか。read_page_mailboxesアクセス許可が必要。

caption

ページ投稿v3.3以降で廃止されました。

string

nameの下に表示される投稿内のリンクキャプション。captionは、URLと、URLがクリックされたときに表示される関連の広告主またはビジネスを正確に反映した、実際のURLである必要があります。

child_attachmentsobject

マルチリンクのシェア投稿のサブシェア。

created_timefloat

投稿が最初に公開された日時。ライフイベントに関する投稿の場合は、ライフイベントの日時です。

description

ページ投稿v3.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で女性を指定できます。デフォルトはすべてのタイプです。ヨーロッパのほとんどの国とカナダでは、現地の法律の関係でinterested_inターゲット設定は利用できません。
interestsint

ページのファンをターゲットに設定するためのページのID (1つまたは複数)。ページのタイプを使用してIDの候補をターゲット設定オプションとして取得し、返されたIDを使用して指定します。

localesint

ターゲットに設定するロケール。adlocaletypeとして使用してターゲット設定オプションを検索し、返されたkeyを使用して指定します。

regionsarray

ターゲットに設定する地域の値。adregiontypeとして使用してターゲット設定オプションを検索し、返されたkeyを使用して指定します。

relationship_statusesint

交際ステータスに基づいてターゲット設定するための整数の配列。交際相手がいない場合は1、交際中の場合は2、結婚している場合は3、婚約中の場合は4を使用します。デフォルトはすべてのタイプです。

from

object

投稿を作成したページ、グループ、またはイベントのnameidユーザーアクセストークンを使用してこのフィールドを読み取った場合は、現在のユーザーのみが返されます。

full_picturestring

投稿で公開された、または投稿内のリンクからスクレイピングされた、フルサイズバージョンの写真のURL。写真の最大サイズが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

ページ投稿v3.3以降で廃止されました。

代わりにattachments{unshimmed_url}を使用します。

string

この投稿に添付されたリンク。

messagestring

投稿に含まれるステータスメッセージ。

message_tagsarray

messageテキスト内でタグ付けされたプロフィールの配列。ユーザーのユーザーアクセストークンを使用してこのフィールドを読み取った場合は、現在のユーザーのみが返されます。

lengthint

タグテキストの長さ。Unicodeコードポイントで表されます。

idstring

タグ付けされたプロフィールのID。

namestring

プロフィールのタグ付けに使用されるテキスト。

offsetint

messageに含まれるタグテキストの最初の文字の位置。Unicodeコードポイントで表されます。

typeenum{}

タグ付けされたプロフィールのタイプ。userpagegroupのいずれか。

name

ページ投稿v3.3以降で廃止されました。

代わりにattachments{title}を使用します。

string

linkの名前。

object_id

ページ投稿v3.3以降で廃止されました。

代わりにattachments{target{id}}を使用します。

string

投稿に添付された、アップロード済みの写真または動画のID。

parent_idstring

この投稿の親投稿のID (存在する場合)。たとえば、「あなたのページが投稿でメンションされました」というストーリーの場合、parent_idはメンションの元の投稿を指します。

permalink_urlstring

www.facebook.com上の投稿の永続的な静的URL。例: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553

placestring

この投稿に関連付けられた場所のID。

privacyobject

投稿のプライバシー設定。

allowstring

valueCUSTOMの場合は、投稿を見ることができるユーザーと友達リスト(存在する場合)のIDのコンマ区切りリストです。

denystring

valueCUSTOMの場合は、投稿を見ることができないユーザーと友達リスト(存在する場合)のIDのコンマ区切りリストです。

descriptionstring

Facebookに表示される、プライバシー設定についての説明テキスト。

friendsenum{}

valueCUSTOMの場合は、どの友達グループが投稿を見ることができるかを示します。値は以下のとおりです。

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

実際のプライバシー設定。値は以下のとおりです。

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

直接宣伝できないストーリーの宣伝に使用する投稿のID。

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

ページ投稿v3.3以降で廃止されました。

代わりにattachments{media{source}}を使用します。

string

投稿に添付されたFlashムービーまたは動画ファイルのURL。

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

ページ投稿v3.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

投稿のパブリッシャーが含まれていることを示すタグが付けられたプロフィール。ユーザーアクセストークンを使用してこのフィールドを読み取った場合は、現在のユーザーのみが返されます。


バージョン3.3以降のグラフAPIとマーケティングAPIでは、このエンドポイントは2019年4月30日に廃止されます。過去90日間にこのエンドポイントを使用したアプリは、2019年7月30日まで、APIバージョン3.2以下を使用して引き続きこのエンドポイントを使用できます。過去90日間にこのエンドポイントを使用しなかったアプリは、2019年4月30日以降、このエンドポイントを使用できなくなります。

宣伝に使用できるID

宣伝に使用できる投稿を見つける際は、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}"
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"
    },
...

投稿を宣伝できない理由については、Facebookのヘルプセンターをご覧ください。

利用可能な投稿フィールドの一覧については、投稿のリファレンスドキュメントをご覧ください。

公開

次のエッジを使用してページに公開できます。linkまたはmessageのいずれかを指定する必要があります。

新しいページエクスペリエンス

このAPIは、新しいページエクスペリエンスでサポートされています。

要件

CREATE_CONTENTタスクを実行できる場合は、以下が必要です。

投稿はページが発信したものとして表示されます。

アクセス許可

注: 閲覧者またはアプリがlinkのURLを表示できない場合、投稿は失敗します。

POST /v19.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"}

このエンドポイントはリードアフターライトをサポートしており、読み取り操作で返されたフィールドをすぐに返すことができます。

Graph Explorer Toolの例

POST {page-id}/feedを使用したGraph Explorer Toolでのテストの例

フィールド

名前説明
actionsarray

投稿に添付されるアクションリンク

linkstring

アクションリンク自体のURL。

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

広告画像ライブラリのリンクと関連付けられたプレビュー画像のハッシュ。最も効果的に表示できるのは、458 x 458ピクセル以上、アスペクト比1:1です。pictureまたはimage_hashのいずれかを指定する必要があります。

linkstring

投稿に添付するリンクのURL。このフィールドは必須です。

namestring

リンクプレビューのタイトル。指定しない場合、リンクされたページのタイトルが使用されます。このフィールドは、一般的に35文字以内です(超過分は切り捨てられます)。Facebookインターフェイスではnameフィールドで報告されたアクションが表示されるので、一意のnameを設定することをおすすめします。

picturestring

リンクと関連付けられた画像プレビューを決定するURL。最も効果的に表示できるのは、458 x 458ピクセル以上、アスペクト比1:1です。pictureまたはimage_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[]

ファンをターゲットに設定する1つまたは複数のID。type=audienceinterestを使用して、指定可能なIDをターゲット設定オプションとして取得し、返されたIDを使用して指定します。

localesint

ターゲットに設定するロケール。adlocaletypeを使用してターゲット設定オプションを検索し、返されたkeyを使用して指定します。

relationship_statuseslist<unsigned int32>

交際ステータスに基づいてターゲット設定するための整数の配列。交際相手がいない場合は1、交際中の場合は2、結婚している場合は3、婚約中の場合は4を使用します。デフォルトはすべてのタイプです。

linkstring

投稿に添付するリンクのURL。linkまたはmessageのいずれかを指定する必要があります。linkに関連付けられている追加フィールドを以下に示します。制限については、カスタムリンクのセクションをご覧ください。

descriptionstring

リンクプレビューの説明を上書きします。

namestring

リンクプレビューのタイトルを上書きします。

picturestring

リンクに関連付けられたプレビュー画像を指定します。

thumbnailfile

アップロードしたリンクに関連付けられているプレビュー画像。

messagestring

投稿の本文。メッセージには、Facebookページのメンションである@[page-id]が含まれることがあります。

multi_share_end_cardBoolean

falseに設定すると、child_attachmentsが使用されるときにカルーセルリンク投稿のエンドカードは表示されません。デフォルトではtrueに設定されます。

multi_share_optimizedBoolean

trueに設定すると、投稿が広告で使用される場合に限り、child_attachmentsでリンクの順序が自動的に選択されます。それ以外の場合は、child_attachmentsの当初の順序が維持されます。デフォルト値はtrueです。

object_attachmentstring

サムネイル画像として使用される、ユーザーの写真アルバム内にある写真のFacebook ID。そのユーザーが所有する写真でなければならず、メッセージ添付に含めることはできません。

placestring

この投稿に関連付けられる位置情報のページID。

publishedBoolean

この新規公開されるオブジェクトについてのストーリーを表示するかどうか。デフォルトはtrueです。ストーリーがフィードに表示されます。このフィールドは、アクションパラメーターが指定された場合はサポートされません(not supported)。未公開の投稿を広告で使用できます。

scheduled_publish_timetimestamp

投稿をいつ公開するかを示すUNIXタイムスタンプ。APIリクエストの時点から10分後~75日後の日付にする必要があります。

tagscsv[string]

この投稿でタグ付けされた人のユーザーIDのコンマ区切りリスト。このフィールドを指定する場合は、placeも指定する必要があります。

targetingobject

このコンテンツのオーディエンスを制限するオブジェクト。これらの利用者データに含まれていない人は、このコンテンツを見ることができません。ページレベルの利用者データの制限が存在する場合、この設定によってそれらはオーバーライドされません。

age_minint

指定できる値は、13、15、18、21、25のいずれかです。

geo_locationsobject

このオブジェクトで、さまざまな位置情報を複数指定できます。このオブジェクトについては、ターゲット設定ガイドをご覧ください。

フィーリングまたはアクティビティをページ投稿に追加する

フィーリングまたはアクティビティをアイコンとともにページ投稿に追加します。フィーリングまたはアクティビティを投稿する場合は、og_action_type_idog_object_idの使用が必須です。og_icon_idの使用は任意ですが、使用しない場合、og_object_idに基づいて自動的にアイコンが指定されます。

フィールド

名前 説明

og_action_type_id

アクション(feelingwatchingなど)。

og_icon_id

ほとんどの場合は、アクションのタイプを表すアイコン(笑顔アイコンや映画アイコンなど)。

og_object_id

アクションのターゲット(happymovieなど)。定義済みオブジェクトまたはpage_idを指定できます。

投稿の例

POST /v19.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();

ほとんどの投稿タイプの場合、https://www.facebook.com/{post-id}にアクセスすればFacebook.com上で投稿を見ることができます。または、ユーザーが投稿に「いいね!」したりコメントしたりできるURLを含む投稿のactionsフィールドを取得して、投稿を見ることもできます。

ページ投稿のcall_to_action

コールトゥアクションボタンにより、リンクページ投稿の機能を強化できます。次のcall_to_actionフィールドを新しいリンクページ投稿に追加できます。

名前説明

call_to_action

object

[コールトゥアクション]ボタンを指定するオブジェクト。これは、利用者が投稿を見たときに実行するアクションにします。このボタンをクリックすると、指定するリンクに利用者が誘導されます。

type

string

[コールトゥアクション]ボタンテキストを決定します。以下の許容値のいずれか1つを指定します。

BOOK_TRAVEL。コールトゥアクションは「Book Now (今すぐ予約)」と表示されます。

BUY_NOW。コールトゥアクションは「Buy Now (今すぐ購入)」と表示されます。バーチャル商品向けデスクトップアプリ広告のみに使用されます。

CALL_NOW。コールトゥアクションは「Call Now (今すぐ電話)」と表示されます。近隣エリア広告のみに使用されます。

DOWNLOAD。コールトゥアクションは「Download (ダウンロード)」と表示されます。

GET_DIRECTIONS。コールトゥアクションは「Get Directions (道順を表示)」と表示されます。linkフィールドで座標を指定する必要があります。近隣エリア広告のみに使用されます。

GET_QUOTE。コールトゥアクションはリード獲得について「Get Quote (見積もりを取得)」と表示されます。

INSTALL_APP。コールトゥアクションは「Install Now(今すぐインストール)」と表示されます。

INSTALL_MOBILE_APP。コールトゥアクションは「Install Now(今すぐインストール)」と表示されます。モバイルアプリ広告のみに使用されます。

LEARN_MORE。コールトゥアクションは「Learn More (詳細を表示)」と表示されます。

LIKE_PAGE。コールトゥアクションは「Like Page (ページに「いいね!」する)」と表示されます。ページへの「いいね!」を目的とする広告のみに使用されます。

LISTEN_MUSIC。コールトゥアクションは「Listen Music (音楽を聴く)」と表示されます。

MESSAGE_PAGE。コールトゥアクションは「Send Message (メッセージを送信)」と表示されます。近隣エリア広告のみに使用されます。

NO_BUTTON。コールトゥアクションは表示されません。

OPEN_LINK。コールトゥアクションは「Open Link (リンクを開く)」と表示されます。ウェブサイトクリックを目的とする広告のみに使用されます。

PLAY_GAME。コールトゥアクションは「Play Game(ゲームをプレイ)」と表示されます。デスクトップアプリ広告のみに使用されます。

SHOP_NOW。コールトゥアクションは「Shop Now (今すぐ購入)」と表示されます。ウェブサイトコンバージョンを目的とする広告のみに使用されます。

SIGN_UP。コールトゥアクションは「Sign Up (登録する)」と表示されます。

SUBSCRIBE。コールトゥアクションはリード獲得について「Subscribe (サブスクリプション登録する)」と表示されます。

USE_APP。コールトゥアクションは「Use App (アプリを利用)」と表示されます。

USE_MOBILE_APPモバイルアプリ広告のみに使用されます。

WATCH_MORE。コールトゥアクションは「Watch More(他の動画を視聴)」と表示されます。

WATCH_VIDEO。コールトゥアクションは「動画を再生する」と表示されます。

カスタムリンクページ投稿の画像

カスタマイズしたリンク画像を付けてページへのリンクを投稿します。リンクから抽出された画像がストーリーの添付によってレンダリングされます。現在は、省略可能なpictureパラメーターで新しい画像へのURLを指定して、その画像をオーバーライドできます。thumbnailパラメーターも同様の機能を提供しますが、このパラメーターはAPI呼び出しでFacebookにアップロードされるローカル画像ファイルを受け入れる点が大きく異なります。

アクセス許可

  • ページアクセストークンが必要です。
  • リンクは投稿元のページが所有するものでなければなりません。

リンクの所有権は、URLノードのownership_permissions{can_customize_link_posts}フィールドで確認できます。新しいリンクを投稿する前にこのエンドポイントを呼び出す必要があります。このステップを実行しないと、カスタムリンクページ投稿はスクレイピングされてないリンクに対して機能しません。詳しくは、リンクの所有権に関するガイドをご覧ください。picturenamethumbnaildescriptionはバージョン2.10以前のバージョンで廃止され、captionはすべてのバージョンで廃止されました。

パラメーター説明

description

文字列

リンクの説明(リンクキャプションの下に表示されます)。指定しない場合、このフィールドには、リンクからスクレイピングされた情報(通常はページのタイトル)が自動的に入力されます。

name

文字列

リンク添付の名前。このフィールドには、リンクからスクレイピングされた情報が自動的に入力されます。

picture

文字列

画像のURL。画像は、pictureで指定したURLから取得されます。

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は省略可能です。指定しなかった場合は、リンクの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}"
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"}

URLを介して画像を使用する

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}ノードを使用して投稿を削除することはできます。