> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Facebook Page API

> Facebook API を使用して投稿するためのオプション

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<Info>
  Facebook の接続に問題がある場合は、[トラブルシューティングガイド](/help-center/technical-support/facebook_posting_issues) をご覧ください。
</Info>

## Facebook への投稿

Facebook API を使用して投稿するには、Facebook ページを接続する必要があります。Facebook は個人アカウントの接続を許可していません。

リンクと画像を含む基本的な Facebook ページ投稿の JSON:

```json Facebook Post with Image theme={"system"}
{
  "post": "The best FB post ever #best https://www.facebook.com", // empty string is allowed
  "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  "platforms": ["facebook"]
}
```

<ul class="custom-bullets">
  <li>
    Facebook は、投稿に画像や動画が含まれていない限り、リンクのプレビューを自動的に投稿に表示します。上記の例では画像が表示されます。画像を削除するとリンクプレビューが表示されます。
  </li>

  <li>
    動画が mp4 など既知の動画拡張子で終わらない場合は、`isVideo` パラメータを使用してください。詳細は [/post endpoint](/apis/post/post) をご覧ください。
  </li>

  <li>
    Facebook では投稿テキストなしでメディアを送信することもできます。投稿テキストを含めたくない場合は、空文字列 `post: ""` を送信してください。
  </li>

  <li>詳細は [Facebook Media Guidelines](/media-guidelines/facebook_pages) と [Facebook Authorization](/dashboard/connect-social-accounts/facebook) をご覧ください。</li>
</ul>

<Warning>
  Facebook の API は、1 つの投稿に画像と動画を混在させることをサポートしていません。複数の画像 OR 1 つの動画を含めることはできますが、両方は不可です。
</Warning>

## カルーセル画像

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Ayrshare の API を使用し、`carousel` ボディパラメータを介して Facebook カルーセル画像を投稿します。

```json Facebook Carousel Post theme={"system"}
{
  "faceBookOptions": {
    "carousel": {
      // The URL of the "See More At" button - required
      "link": "URL of See More At...",
      "items": [
        // 2 min, 10 max elements in the array
        {
          "name": "Image name", // optional
          "link": "URL when image clicked", // required
          "picture": "URL of image" // required
        },
        {
          "name": "Image name",
          "link": "URL when image clicked",
          "picture": "URL of image"
        }
      ]
    }
  }
}
```

<ul class="custom-bullets">
  <li>トップレベルの `link` パラメータは、カルーセル末尾に表示される URL です。</li>

  <li>
    `items` は以下の値を含むオブジェクトの配列です。items 配列は最小 2 要素、最大 10 要素です。
  </li>

  <li>`picture` - カルーセル画像の URL。</li>
  <li>`link` - 画像クリック時の URL。</li>
  <li>`name` -(任意)各画像カードに表示される画像名。</li>
</ul>

**注意:** `carousel` と `media_urls` を併用しないでください。`media_urls` を使用すると `carousels` は無視されます。

詳細については [Facebook Carousel Guide](https://www.ayrshare.com/blog/post-a-series-of-facebook-images-as-a-carousel/) をご覧ください。

## Facebook Reels

以下の `facebookOptions` を使用して、Facebook Reels に動画を投稿できます。

<Note>
  Meta は、スパム防止とプラットフォーム品質の確保のため、接続された Facebook ページごとに 24 時間以内の Reels 投稿数を 30 件までに制限しています。これはローリング制限であり、カレンダー日ではなく直近 24 時間でカウントされます。
</Note>

```json Facebook Reels Post theme={"system"}
{
  "post": "The description of the video",
  "platforms": ["facebook"],
  "mediaUrls": ["https://img.ayrshare.com/012/reel.mp4"],
  "faceBookOptions": {
    "reels": true,
    "title": "Super title for the Reel", // optional
    "thumbNail": "https://img.ayrshare.com/012/reel-thumbnail.jpg" // optional
  }
}
```

<ul class="custom-bullets">
  <li>
    `reels`: 動画を Reels に投稿するには `true` に設定します。Facebook Reels に投稿する場合は必須です。
  </li>

  <li>
    `title`: 動画のタイトル、最大 255 文字。255 文字を超える場合は切り詰められます。任意。
  </li>

  <li>
    `thumbNail`: 動画のサムネイル(カバー画像)。サムネイルは JPEG または PNG ファイルの URL とし、10MB 未満である必要があります。任意。
  </li>
</ul>

詳細は [Reels API video requirements](/media-guidelines/facebook_pages#reels) または [Facebook Reels API の使用例](https://www.ayrshare.com/blog/facebook-reels-api-how-to-post-fb-reels-using-a-social-media-api/) をご覧ください。

<Warning>
  Meta は一部のアカウントで Facebook Reels の処理に問題が発生することがあります。エラーレスポンスが返されても、Reel が公開されている場合があります。

  Facebook Reels でエラーが発生した場合は、Reel のステータスを確認することをお勧めします。投稿がまだ公開されていない場合は、[もう一度投稿](/apis/post/retry-post) を試してみてください。これは多くの場合成功します。

  ステータス確認には `verifyReelsUrl` フィールドに含まれる URL を使用できます。元の投稿と同じ Profile Key を必ず使用してください。Reel ステータス確認までは `verifyReelsIn` の時刻(10 分)まで待機してください。HTTP エラーコード `400` が返された場合、投稿は失敗しているため、もう一度投稿を試すことができます。

  ```json Facebook Reels Post Error theme={"system"}
  {
    "action": "post",
    "status": "error",
    "code": 108,
    "message": "Facebook Error: Facebook cannot process your post at this time. Please try again. ",
    "detailsData": {
      "id": "104619420979033_36930641143",
      "verifyReelsUrl": "https://api.ayrshare.com/history/36930641143?searchPlatformId=true&platform=facebook",
      "verifyReelsIn": "2024-01-26T00:07:05.170Z",
      "postUrl": "https://www.facebook.com/1046194209_36930641143",
      "reels": true
    },
    "retryAvailable": true,
    "platform": "facebook"
  }
  ```
</Warning>

## Facebook Stories

写真または動画として Facebook ページに Facebook Stories を公開します。

<ul class="custom-bullets">
  <li>
    Facebook Stories は投稿テキストをサポートしていません — `post` フィールドで提供されたテキスト(メンションを含む)は無視されます。
  </li>

  <li>
    ストーリーにアップロードする写真または動画は、以前に公開された投稿で使用されていないものである必要があります。
  </li>

  <li>動画ストーリーは 60 秒を超えることはできません。</li>

  <li>
    ストーリーを GET できるようにするには、[Stories Archive](https://www.facebook.com/help/2058997717520567) をオンにしてください。
  </li>
</ul>

```json Facebook Stories Post theme={"system"}
{
  "post": "", // Ignored by stories
  "platforms": ["facebook"],
  "mediaUrls": ["https://img.ayrshare.com/012/stories.mp4"],
  "faceBookOptions": {
    "stories": true
  }
}
```

詳細は [Stories API image and video requirements](/media-guidelines/facebook_pages#stories) をご覧ください。

## メディアキャプション

投稿する各メディア画像に Facebook キャプションを設定します。

文字列キャプションテキストの配列を受け付けます。各配列要素はメディア URL に対応する必要があります。例: `["This is my best pic", "😃 here is the next one"]` は `mediaUrls` の 1 番目と 2 番目の URL を指します。

```json Facebook Media Captions theme={"system"}
{
  "faceBookOptions": {
    "mediaCaptions": ["This is my best pic", "😃 here is the next one"]
  }
}
```

## 位置情報タグ

Facebook の位置情報タグは、Facebook ページ ID または Facebook ページ名である `locationId` で指定します。例えば、[Guggenheim Museum](https://www.facebook.com/guggenheimmuseum) の Facebook ページ ID は `7640348500`、Facebook ページ名は `"@guggenheimmuseum"` です。ページは物理的な場所と関連付けられている必要があります。

```json Facebook Location Tagging theme={"system"}
// Using the Facebook Page Id - must be associated with a location
{
  "faceBookOptions": {
    "locationId": 7640348500 // Guggenheim Museum Page Id
  }
}
```

[brand endpoint](/apis/listen/search/fb-page-search) を使用して `locationId`(Page Id)を検索できます。ページには場所が登録されている必要があります。そうでない場合、locationId はエラーを返します。

テキスト投稿、画像、Reels、Stories ではサポートされていません。動画は Meta が位置情報タグをサポートしていません。

## オーディエンスターゲティング

Facebook でページ投稿を作成する際、2 種類のターゲティングを使用して特定のオーディエンスに公開範囲を制限するオプションがあります。

1. Facebook ターゲティング: 年齢、性別、地域、交際ステータスなどの要因に基づいて投稿のオーディエンスを定義できます。これらのパラメータを設定することで、指定した条件を満たす人にのみ投稿を表示することができます。
2. Facebook フィードターゲティング: このオプションを使用すると、ターゲット オーディエンスのニュースフィード内での投稿の表示範囲をさらに絞り込むことができます。

各ターゲティングオプションは個別に、または組み合わせて使用できます。

### Targeting

Facebook targeting は、特定の属性の[コンテンツを閲覧できるオーディエンスを制限](https://www.facebook.com/help/352402648173466) します。これらの属性に該当しない人はこのコンテンツを閲覧できません。これは、既に有効になっているページレベルの属性制限を上書きするものではありません。

利用可能な属性フィールド `targeting`:

<ul class="custom-bullets">
  <li>
    `ageMin`: 投稿を閲覧できる最低年齢を制限します。値は 13、15、18、21、25 のいずれかを指定します。それ以外の年齢は拒否されます。
  </li>

  <li>
    `countries`: ジオフェンシングとも呼ばれ、投稿を閲覧できる国を制限できます。[国コード](/iso-codes/country) の配列。ターゲットにできる国の最大数は 25 です。26 か国以上をターゲットにする、または特定の国を制限する必要がある場合は、[Facebook Page Country Restrictions](/help-center/technical-support/facebook_page_country_restrictions) をご覧ください。
  </li>
</ul>

```json Facebook Targeting theme={"system"}
{
    "faceBookOptions": {
        "targeting": {
            "ageMin": 18,
            "countries": ["DE", "BR"]
    }
}
```

### Feed Targeting

これらの Facebook フィードターゲティンググループに属する人は投稿を目にする可能性が高くなり、それ以外の人は可能性が低くなりますが、それでも見る場合はあります。制限を保証したい場合は、上記の targeting を使用してください。

`feedTargeting` で利用可能な属性フィールド:

<ul class="custom-bullets">
  <li>
    `ageMin`: 投稿を閲覧できる最低年齢を制限します。整数値 13 以上。既定は 0。
  </li>

  <li>`ageMax`: 投稿を閲覧できる最高年齢を制限します。整数値 65 以下。</li>

  <li>
    `countries`: ジオターゲティングとも呼ばれ、投稿を閲覧できる国を指定できます。[国コード](/iso-codes/country) の配列。
  </li>

  <li>
    `collegeYears`: 大学の卒業年齢を対象に投稿を表示します。大学の卒業年の整数配列。
  </li>

  <li>
    `educationStatuses`: 教育ステータスを対象に投稿を表示します。教育レベルに基づくターゲティング用の整数配列。高校は `1`、学部生は `2`、卒業生は `3` を使用します。
  </li>

  <li>
    `genders`: 性別を対象に投稿を表示します。特定の性別をターゲットにする整数配列。`1` はすべての男性視聴者、`2` は女性視聴者をターゲットにします。既定では両方が対象となります。
  </li>

  <li>
    `relationshipStatuses`: 交際ステータスを対象に投稿を表示します。交際ステータスに基づくターゲティング用の整数配列。独身は `1`、'交際中' は `2`、既婚は `3`、婚約中は `4` を使用します。既定はすべてのタイプ。
  </li>
</ul>

```json Facebook Feed Targeting theme={"system"}
{
  "feedTargeting": {
    "ageMax": 30,
    "ageMin": 26,
    "countries": ["DE", "BR"],
    "genders": [1, 2],
    "relationshipStatuses": [1, 2]
  }
}
```

## 代替テキスト

Facebook の代替テキスト(alt text とも呼ばれます)を画像または動画に追加します。Facebook の alt text は、追加のユーザー情報とスクリーンリーダーで使用されるアクセシビリティ機能です。

`faceBookOptions` オブジェクトで `altText` を使用します。

```json Facebook Alt Text theme={"system"}
{
  "faceBookOptions": {
    // Array of Alt Texts
    "altText": ["This is my best pic", "😃 here is the next one"]
  }
}
```

各 alt text は `mediaUrls` 配列内の画像または動画に対応する必要があります。alt text は各画像に順に適用されます。

## 動画のサムネイル

Facebook 動画のサムネイル(カバー画像)を設定します。動画と同じ寸法で 10 MB 未満の PNG または JPG ファイルのリモート URL を送信します。URL は .png または .jpg で終わる必要があります。

```json Example Facebook Video Thumbnail theme={"system"}
{
  "faceBookOptions": {
    "thumbNail": "https://octodex.github.com/images/Fintechtocat.png"
  }
}
```

## 動画タイトル

`title` パラメータを使用して Facebook 動画のタイトルを追加します。

```json Facebook Video Title theme={"system"}
{
  "faceBookOptions": {
    "title": "The best video ever!"
  }
}
```

## アニメーション GIF

Facebook アニメーション GIF を投稿する際、`mediaUrls` 配列で許可されている URL は 1 つのみです。
メディア URL が「.gif」または「.GIF」で終わらない場合は、`isVideo` フィールドを `true` に設定してください。

```json Facebook Animated GIF theme={"system"}
{
  "randomPost": true,
  "platforms": ["facebook"],
  // Set to true if the GIF URL does not end in .gif or .GIF
  "isVideo": false,
  // Only one URL is allowed in the array
  "mediaUrls": ["https://img.ayrshare.com/012/cat.gif"]
}
```

## Facebook ページのメンション

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

投稿テキストに Facebook ページ名またはページ ID を含めることで、別の Facebook ページをメンション(Facebook mentions または Facebook tagging とも呼ばれます)できます。
Facebook は個人プロフィールやグループへのメンションやタグを許可していません。

以下の @mention 形式でメンションを含めます。

`@page-name` または `@[page-id]`

### ページ名によるメンション

ページ名を使用した投稿テキストの例。ページ名は Facebook の URL(例: [https://www.facebook.com/Ayrshare](https://www.facebook.com/Ayrshare))から確認できます。

```json Facebook Page Mention with Page Name theme={"system"}
{
  "post": "This is the best social media api by @Ayrshare"
}
```

Ayrshare は名前に基づいて一致するページを可能な限り探しますが、一致が見つからない場合もあります。より信頼性の高い方法はページ ID を使用することです。

### ページ ID によるメンション

ページ ID を使用した投稿テキストの例。\[] の使用に注意してください。ページ ID の見つけ方は下記をご覧ください。

```json Facebook Page Mention with Page ID theme={"system"}
{
  "post": "This is the best social media api by @[738681876342836]" // Ayrshare Page ID
}
```

Facebook ページ ID は一致するページに解決され、***メンションされたページに通知されます***。

<Warning>
  関連付けのあるページのみをメンションするなど、ページメンションは慎重に使用してください。決してスパムをしないよう注意する必要があります。

  ページをメンションすると、**そのページの所有者にアラートとメールで通知が送信されます**。複数のページからメンションについて苦情が寄せられると、Facebook からアカウントを禁止される可能性があります。一般的には、関係が確立されているページのみをタグ付けするようにしてください。

  メンションされる Facebook ページは、他のページによる自分のページのメンション/タグを **許可している必要があります**。メンションはページの一般設定の「他のユーザーがこのページをタグ付け」で有効化できます。

  メンションに関する [重要なルール](/testing/post-verification#mentions) を必ずご確認ください。
</Warning>

### Facebook ページ ID の検索

#### Brand エンドポイント

[Brand endpoints](/apis/brand/overview) を使用して、Facebook ユーザーまたは Facebook ページを検索できます。

#### Facebook.com で

1. Facebook のニュースフィードから、左側メニューの **Pages** をクリックします。
2. ページ名をクリックしてページに移動します。
3. ページの上部にある **About** をクリックします。表示されない場合は **More**▼ をクリックしてください。
4. 下にスクロールして **MORE INFO** の下にある **Page ID** を確認します。

または、自分が所有していないページの ID を確認する場合:

<ul class="custom-bullets">
  <li>
    Facebook ページの URL が `https://www.facebook.com/ayrshare-1234567890` のような場合、ID は ***1234567890*** です。
  </li>

  <li>Facebook ページの URL が以下のような場合:</li>
</ul>

`https://www.facebook.com/pages/ayrshare/123466789203` の場合、ページ ID は末尾の数字、例えば **123466789203** です。

`https://facebook.com/page-id` にアクセスすることで、ページ ID が正しいか確認できます。正しければページに解決されます。

Ayrshare がサポートしていないサードパーティの Facebook ページ検索ツール、例えば [https://lookup-id.com/](https://lookup-id.com/) も試すことができます。

他のすべての方法が失敗した場合、ブラウザで Facebook ページを表示し、ページのソースを表示することもできます。Chrome では右クリックして「View Source」を選択します。次に `owning_profile_id` または `profile_id` を検索してページ ID を確認します。

<Warning>
  メンションに関する [重要なルール](/testing/post-verification#mentions) を必ずご確認ください。
</Warning>

### ページメンションの有効化

ページは投稿とコメント内でのメンションとタグ付けを許可している必要があります。既定でこれは有効ですが、facebook.com にログインしてページに切り替えることで確認できます。

1. ページとして表示している状態で、右上のページの **プロフィール画像** をクリックします。
2. **Settings & Privacy** -> **Settings** をクリックします。
3. Settings メニューの **Privacy** をクリックします。
4. **Page and Tagging** をクリックします。
5. **Reviewing** までスクロールします。
6. 設定を切り替えて、タグとメンションを許可します。

## Meta Business Suite

### 下書き投稿

[Meta Business Suite Draft](https://business.facebook.com/latest/posts/draft_posts) タブに表示される Facebook の下書き投稿を作成します。Facebook の下書き投稿は、書き始めたがまだ公開されていない投稿です。下書き投稿は後で戻って作業したり、後日公開するためにスケジュールしたりできます。

投稿を下書きとして送信するには、`faceBookOptions` に `draft` パラメータを追加します。テキスト、画像、動画、Reels 投稿で利用可能です。

```json Facebook Draft Post theme={"system"}
{
  "faceBookOptions": {
    "draft": true
  }
}
```

### 公開スケジュール時間

[Meta Business Suite Scheduled Posts](https://business.facebook.com/latest/posts/scheduled_posts) タブに表示される Facebook 投稿の公開スケジュール時間を設定します。Facebook のスケジュール済み投稿とは、作成して後日公開されるようスケジュールされ、Meta Business Suite で管理される投稿です。これは、ソーシャルメディアの投稿を前もって計画したり、オーディエンスが最もアクティブな時間に投稿を公開したりするために便利です。

テキスト、画像、動画、Reels 投稿で利用可能です。

<Warning>
  公開時間は現在時刻から 10 分より後、かつ現在の日付から 29 日以内である必要があります。

  Meta Business Suite で Facebook 投稿を管理する必要がない限り、標準の [投稿スケジュール日時](/apis/post/overview#schedule-posts) の使用を推奨します。
</Warning>

投稿時刻をスケジュールするには、`faceBookOptions` に `scheduledPublishDate` パラメータを追加します。

```json Facebook Scheduled Post theme={"system"}
{
  "faceBookOptions": {
    "scheduledPublishDate": "2023-09-28T21:44:06Z" // Future date in UTC
  }
}
```

## リンクプレビュー

Facebook 投稿は、投稿本文にあるリンクのリンクプレビューを自動的に作成します。
ただし、別のリンクを指定するか、リンクプレビューを強制したい場合は、`link` パラメータでリンクの URL を指定してください。

```json Facebook Link Preview theme={"system"}
{
  "faceBookOptions": {
    "link": "https://www.ayrshare.com/instagram-hashtag-guide/"
  }
}
```

投稿リクエストに `mediaUrls` フィールドが含まれている場合、リンクプレビューの代わりにメディアが表示されます。

## Facebook Ads

Facebook Ads は、投稿をより広いオーディエンスに宣伝する方法です。

<Card title="Facebook Ads" href="/apis/ads/overview" horizontal />

## 文字数制限

詳細は [Facebook Character Limits](/help-center/technical-support/character_limits#facebook-character-limits) をご覧ください。

## 補足情報

### Facebook 投稿に改行やリッチテキストを追加するにはどうすればよいですか?

Facebook の改行は、特殊な[改行文字](/apis/post/overview#line-breaks) を使用して投稿に追加できます。

太字や斜体などのリッチテキストは、いくつかの [HTML 要素](/apis/post/overview#rich-text-posts) を使用して Facebook 投稿に追加できます。

### なぜ投稿に「Published by Ayrshare」と表示されるのですか?

心配は不要です。これは管理者ビューにのみ表示されます。詳細は [トラブルシューティングガイド](/help-center/technical-support/facebook_shows_published_by_ayrshare) をご覧ください。
