# SosoAPI設定ガイド

正規URL： https://sosoapi.ai/ja/docs/setup-guide

AIエージェントを接続し、ソーシャルアカウントを連携して、最初の投稿を準備しましょう。

<a id="choose-your-starting-point"></a>

## 開始する場所を選ぶ

SosoAPIは、普段使っているエージェントからソーシャルアカウントへの接続をひとつにまとめます。エージェントが文章作成と確認を支援し、SosoAPIが対応するアカウント操作、予約、公開結果を扱います。同じ投稿をアプリで確認したり、自分のコードからAPIを使ったりできます。

このガイドは一人とひとつのソーシャルアカウントから始めます。ローカルまたはホスト型MCPクライアントへの接続、アクセス選択、アカウント確認、投稿の準備と承認、実際の結果確認を行います。上級編はCLIとHTTP APIを扱います。設定自体にテスト投稿は不要です。

- [Claude CodeまたはCodexに設定を任せる：手順1](#1-give-your-agent-the-setup-request)

- [MCPクライアントを自分で設定する：手順3](#3-connect-your-agent-manually-if-needed)

- [端末またはバックエンドを使う：手順9](#9-cli-and-api-walkthrough)

- [接続を修復する：手順10](#10-troubleshooting)

<a id="before-you-start"></a>

## 始める前に

MCPに対応したAIクライアント、SosoAPIアカウント、管理権限のあるソーシャルアカウントが必要です。SosoAPIアカウントはログイン画面が開いたときに作成できます。準備したい実際の内容をひとつ用意してください。

ローカルMCPには、Node.js 20以降、npm/npx、使用するAIクライアントが必要です。ホスト型MCPにはremote MCP、OAuth、自動クライアント登録に対応するクライアントが必要で、ローカルのNode.jsインストールは不要です。クライアント機能はプランや管理者設定で異なる場合があります。

SosoAPIはInstagram、Threads、Facebook Pages、YouTube、Xに接続します。アカウント種別、権限、投稿形式が目的に合う公開先を選んでください。利用条件を満たすThreadsアカウントは、最初のテキスト投稿の例に適しています。InstagramとYouTubeでは、対応する公開形式に適したメディアが必要です。接続メニューに表示されても、そのアカウントですべての操作が使えるとは限りません。

設定時にアカウント固有の機能を確認してください。一括予約の前にアプリで現在のプランと利用枠を確認します。Xには組織ごとの別のクレジット枠があります。あるプラットフォームの例で、別のプラットフォームの対応を保証することはできません。

- [対応プラットフォーム](https://sosoapi.ai/ja/docs/supported-platforms)

- [公開機能とアカウント要件](https://sosoapi.ai/ja/docs/publishing-capabilities)

<a id="1-give-your-agent-the-setup-request"></a>

## 1. エージェントに設定を依頼する

現在のClaude CodeまたはCodexの会話に貼り付けてください。

エージェントはまず動作中のSosoAPI接続を確認し、再利用する必要があります。なければ設定手順に従い、ブラウザーログインやクライアント再起動が必要なときに案内します。期待する結果は、現在の会話でSosoAPIツールが使えることです。インストール完了の表示だけでは証明になりません。ログインとアカウント確認に進むか、手動設定には手順3を使ってください。

> 次の手順でSosoAPIを設定してください： https://sosoapi.ai/setup.md. 現在の内容とタスクを保持してください。必要なときは私がログインし、アクセスを承認します。設定中に何も公開しないでください。

<a id="2-sign-in-and-choose-your-agents-access"></a>

## 2. ログインしてエージェントのアクセスを選ぶ

意図したアカウントを使い、Googleで続行するか、メール登録と検証を完了します。表示されたアカウントやワークスペースの設定を完了してください。複数のワークスペースに所属する場合は目的のブランドやプロジェクトを選びます。要求するワークスペースと操作を確認してから承認し、同じ会話に戻ってください。

エージェントが提供したログインリンクを保持し、保留中の認可にブラウザーが戻れるようにしてください。先にアプリで始め、後からエージェントに戻ることもできます。承認待ちのリンクを別のログインリンクで置き換えないでください。

ワークスペースの役割とプラットフォーム権限は引き続き適用されます。エージェントに公開アクセスがあっても、閲覧者が編集者になるわけではありません。公開アクセスは付与した範囲内で継続し、SosoAPIは投稿ごとにブラウザーでの再承認を強制しません。内容確認のために停止するタイミングをエージェントに伝えてください。通常のOAuth設定では、ソーシャルのパスワードやAPIキーをエージェントに貼り付ける必要はありません。

期待する結果：意図した本人情報でログインが完了し、エージェントが認可したワークスペースを取得できること。誤ったブラウザープロフィールが開く場合は、トラブルシューティングを参照してください。

タスクに応じたアクセスを選ぶ

| アクセスの選択 | 用途 |

| --- | --- |

| 読み取り、作成、編集 | 利用可能なアカウント情報を読み取り、作業を準備します。 |

| 予約と公開 | 選択した範囲内で公開作業を送信・管理します。 |

| 追加権限 | 特定の必要がある場合だけ有効にします。通常の投稿にAPIキー管理は不要です。 |

- [SosoAPIアプリで開始する](https://app.sosoapi.ai/start?lang=en)

<a id="3-connect-your-agent-manually-if-needed"></a>

## 3. 必要な場合はエージェントを手動で接続する

接続方法はひとつ選んでください。エージェントが動作する接続を設定済みなら、この節は省略できます。ローカルMCPでは、先にNode.jsとnpxを確認します。Node.jsは20以降が必要です。

```
node --version
npx --version
```

<a id="local-mcp-claude-code-or-codex"></a>

## ローカルMCP：Claude CodeまたはCodex

使用するクライアントのコマンドだけを実行してください。最初はClaude Code用、次はCodex用です。coreプロファイルは日常の公開フローを含みます。プロファイルは表示ツールを変えるだけで権限を付与しません。動作中のfullプロファイル接続がある場合は保持してください。

クライアントに求められた場合は再接続または再起動し、現在の会話でSosoAPIツールが使えることを確認します。必要に応じて最初の認証付き呼び出しがブラウザーログインを開始します。

```
claude mcp add sosoapi -e SOSOAPI_TOOL_PROFILE=core -- npx -y sosoapi
```

```
codex mcp add sosoapi --env SOSOAPI_TOOL_PROFILE=core -- npx -y sosoapi
```

<a id="other-local-mcp-clients"></a>

## その他のローカルMCPクライアント

mcpServers JSONを使うクライアントでは、この項目を既存の設定に追加し、他のサーバーは保持してください。別の形式では、クライアントのMCP設定で同じコマンド、引数、環境変数を指定します。

```
{
  "mcpServers": {
    "sosoapi": {
      "command": "npx",
      "args": [
        "-y",
        "sosoapi"
      ],
      "env": {
        "SOSOAPI_TOOL_PROFILE": "core"
      }
    }
  }
}
```

- [インストールの参照とパッケージの選択](https://sosoapi.ai/ja/docs/installation)

<a id="hosted-mcp"></a>

## ホスト型MCP：対応ブラウザーまたはリモートクライアント

クライアントのカスタムコネクターまたはremote MCP設定で、以下のサーバーURLを使ってSosoAPIという接続を追加します。選択肢があればOAuthと自動クライアント登録を選んでください。SosoAPIにログインして許可するワークスペースと操作を選び、会話に戻り、必要に応じて接続を有効にします。認可されたアカウントの確認をエージェントに依頼してください。

使用するもの： https://sosoapi.ai を新しいホスト型接続に使用します。従来のエンドポイント https://gqeshlawtcexsapabaui.supabase.co/functions/v1/remote-mcp は引き続き利用できます。動作中のローカル接続やホスト型接続を保持してください。URLを変えるためだけに置き換える必要はありません。

APIキー、クライアントID、クライアントシークレットを貼り付ける必要はありません。ChatGPTのカスタムMCPアプリは、プラン、開発者モード、管理者設定によって利用可否が異なります。これはカスタム接続の手順であり、アプリ一覧への掲載ではありません。ホスト型MCPはローカルファイルを読めません。公開URLのインポートか、ローカルファイル用のローカルMCPを使ってください。

```
https://sosoapi.ai
```

- [カスタムOAuthクライアント登録とトークンの手順](https://sosoapi.ai/auth.md)

<a id="check-local-sign-in"></a>

## 任意：端末でログインを確認する

ローカル接続では先にauth statusを実行し、未ログインと表示された場合だけauth loginを実行します。ブラウザーで手続きを終え、再度ステータスを確認してください。トークンは表示されません。これはローカルCLIの認証確認であり、別のホスト型コネクターのログイン確認ではありません。

```
npx -y sosoapi auth status
```

```
npx -y sosoapi auth login
```

<a id="4-connect-your-social-account"></a>

## 4. ソーシャルアカウントを接続する

アカウント接続画面を開くか、以下のローカルコマンドを使います。必要に応じてthreadsをinstagram、facebook、youtube、xに置き換えてください。接続フローが開くだけで、内容は公開されません。

表示されている組織とワークスペースを確認します。プラットフォームを選び、その認可ページでログインして、対象のアカウント、Page、チャンネルを選択してください。同意を完了し、戻った際にアカウント選択の確認があれば終えてください。その後、対象ワークスペースの接続済みアカウントを再取得するようエージェントに依頼します。

正常な既存接続は再利用してください。別の組織やワークスペースに属する場合はアプリで選択を解決し、通常の設定で切断や移動を行わないでください。期待する結果は、正しいワークスペースに目的のアカウントが表示され、現在の接続状態と機能情報を確認できることです。コールバック成功だけでは公開権限を証明できません。

公開先を確認する

| 投稿先 | 確認すること |

| --- | --- |

| Threads | 意図したプロフィールと、要求するテキストまたはメディア形式に必要な権限。 |

| Instagram | 対応するプロアカウント設定と、要求する形式の公開権限。 |

| Facebook | 管理するPageと、そのPageに必要な権限。 |

| YouTube | 対象のチャンネル。ひとつのGoogleアカウントで複数のチャンネルを管理する場合は特に確認してください。 |

| X | アカウントのテキスト・動画機能と、組織の残りXクレジット。 |

```
npx -y sosoapi connect threads
```

- [アカウントを接続](https://app.sosoapi.ai/connect?lang=en)

<a id="5-verify-access-without-publishing"></a>

## 5. 公開せずにアクセスを確認する

接続済みのエージェント会話に以下を貼り付けてください。

エージェントはsosoapi_get_workspace_contextとsosoapi_list_connected_accountsを使い、既知の情報を再利用し、選択したworkspace_idを明示的に渡せます。アカウント初期化により最初のワークスペースが作成される場合がありますが、この設定確認でソーシャル投稿は作成されません。

続行前にワークスペースと公開先、自分の役割とエージェントのアクセス、予定する形式への公開先の対応を確認してください。確認に失敗した場合はトラブルシューティングを使います。パッケージの再インストールで不足するプラットフォーム権限は補えません。

> 公開や予約をせずに、私のSosoAPI設定を確認してください。
> 利用可能なワークスペースと、私が選んだワークスペース内のソーシャルアカウントを表示してください。
> 私が選んだアカウントについて、プラットフォーム、アカウント名、接続状態、予定する形式の公開機能を表示してください。
> 複数のワークスペースやアカウントが該当する場合は、どれを使うか私に確認してください。
> 内部IDはツール呼び出しに使い、私に探させたり作らせたりしないでください。

<a id="6-prepare-and-approve-your-first-post"></a>

## 6. 最初の投稿を準備して承認する

実際の投稿ひとつと公開先ひとつから始めます。この下書き用プロンプトの角括弧内を置き換えてください。エージェントが文章を作成し、SosoAPIが接続と公開操作を提供します。主張、表記、リンク、メディアは自分で確認してください。

将来の投稿には日付、現地時刻、IANAタイムゾーンを明示してください。夏時間で現地時刻が曖昧になる場合は、送信前にどちらの時刻かを選びます。この段階の期待する結果は、公開リクエストを送信せず、確認用の正確な下書きができることです。

> SosoAPIで製品告知をひとつ準備するのを手伝ってください。
> 
> 製品：[public product name]
> 確認済みの事実：[what is available today]
> 対象読者：[who this helps]
> 公開先：[account label and platform]
> 言語：[language]
> 希望する現地日時：[YYYY-MM-DD HH:mm]
> タイムゾーン：[IANA timezone, for example Asia/Hong_Kong]
> メディア：[none, a local file, or a public media URL]
> 
> 私が提供した事実だけを使い、公開先の形式要件を確認してください。
> 正確な下書き、メディア、公開先、日付、時刻、タイムゾーンを確認用に提示してください。
> まだ予約や公開はしないでください。

<a id="approve-and-schedule"></a>

## 予約前に正確な投稿を承認する

詳細がすべて正しければ、以下のプロンプトで明確に指示してください。公開され得る実際の予約を作成します。公開する意思のある内容とアカウントを使ってください。即時公開も、同じ詳細を確認してから明示的な指示が必要です。

期待する結果：Scheduled Post ID、意図した公開先、受理された日時、現在のステータス。予約の受理は、プロバイダーが公開済みであることを意味しません。

> 以下の承認済み投稿を、指定のアカウントに、明示した日付、時刻、タイムゾーンで予約してください。
> 
> [最終的な内容、メディア、公開先、日付、時刻、タイムゾーンを貼り付けてください。]
> 
> 一致する既存の予約を先に確認してください。この投稿を一度だけ送信して保存結果を読み直し、ID、公開先、受理された日時、現在のステータスを返してください。結果が不明な場合は、別の操作の前に既存のリクエストを確認してください。

<a id="7-check-the-result-reschedule-or-cancel"></a>

## 7. 結果の確認、日時の再設定、キャンセル

sosoapi_get_scheduled_postで同じScheduled Postを読み取るようエージェントに依頼します。次も開けます： https://app.sosoapi.ai/scheduled-posts/<post-id> 認可されたアカウントでログインしてから確認してください。複数のアカウントを対象とする場合は公開先ごとに確認します。一部が成功し、ほかは対処が必要な場合があります。

> Scheduled Post [returned ID]の現在の結果を読み取ってください。
> 公開先、予約日時、現在のステータス、公開結果を表示してください。
> 公開が確認できたら、利用可能な場合は公開リンクも含めてください。
> 再試行、日時の再設定、新しい投稿の作成はしないでください。

保存された結果を理解する

| 結果 | 意味 | 次の手順 |

| --- | --- | --- |

| 予約済み | 将来の日時に向けて受理されています。 | IDを保持し、予定日時の後に確認してください。 |

| 準備中、公開中、または照合中 | 処理中、またはプロバイダーの最終結果が不明です。 | 後から同じ投稿を読み取り、別の送信は避けてください。 |

| 公開済み | プロバイダーに裏付けられた証拠で公開が確認されています。 | 返された恒久リンクがあれば開いてください。 |

| 失敗、または対処が必要 | 特定の修正または許可された操作が必要です。 | 理由と利用可能な操作を確認してください。 |

| 日時の再設定が必要、または期限切れ | 元の予約は指定どおりに実行できません。 | 説明を確認し、利用可能な操作を選んでください。 |

| キャンセル済み | キャンセルが確認されています。 | この予約が公開されるとは考えないでください。 |

<a id="manage-a-pending-post"></a>

## 保留中の投稿を管理し、後から確認する

保留中の投稿を変更するには、IDと変更後の詳細を伝えてください。エージェントは対応する更新やキャンセルの前に、現在のバージョンと利用可能な操作を読み取る必要があります。キャンセル可否は配信段階によって異なり、配信開始後は利用できなくなる場合があります。予約のキャンセルで、プロバイダー上の公開済み投稿は削除されません。

将来の予約の保存情報を受け取った後は、会話を離れ、後から同じ投稿を確認できます。別途設定していない限り、閉じたエージェント会話が自動で再開したり通知したりする保証はありません。

<a id="8-add-images-or-video-then-reuse-the-workflow"></a>

## 8. 画像や動画を追加してフローを再利用する

大量の投稿を準備する前に、単一投稿のフローを動作させてください。メディアがローカルファイル、公開URL、既存のSosoAPIアセットのどれかをエージェントに伝えます。

ローカルファイルには、ローカルMCPのsosoapi_upload_assetを使えます。ファイルは許可されたアップロードフォルダー内に置いてください。範囲外のパスではツールが使用可能な場所を案内します。ホスト型MCPはコンピューター上のファイルを読み取れません。

公開URLにはsosoapi_import_asset_urlを使い、include_asset=trueを指定してsosoapi_get_asset_import_statusを確認します。アセットが利用可能になるまで待ってください。既存のアセットは、意図したワークスペースに属し、選んだ形式で利用可能なことを確認します。

通常の予約リクエストでは、登録済みアセットIDと正規のアセットURLを一緒に使います。一時的なプレビューURLや元の外部URLで代用しないでください。対応する単一画像URLのフローでは、sosoapi_post_image_urlがインポートと送信をまとめて行います。これは公開操作なので、先に投稿全体を承認してください。処理中は受理された投稿IDを保持し、続行するために別のインポートを始めないでください。

XはメディアなしのオリジナルTEXT投稿、または利用可能な登録済みMP4動画ひとつを使うVIDEOに対応します。動画は0.5秒以上、アップロード上限500 MiB以内である必要があります。動画には対象アカウントの確認済みcan_publish_videoが必要で、テキストアクセスだけでは不十分です。古い接続では動画アップロード権限を付けて再接続するため、本人の同意が必要な場合があります。本文、ハッシュタグ、リンクはXの加重文字数制限内に収めてください。写真、返信、引用、リポスト、スレッドの公開には対応していません。アップロードや動画処理の受理は公開結果ではありません。

Xに送信する前に、対象のworkspace_idと最終的な本文でsosoapi_get_x_usageを読み取ってください。その利用枠とコストは一般プランの利用枠とは別です。繰り返し送信してクレジット上限を回避せず、公開結果が不明な場合は再送前に照合してください。

<a id="reuse-the-workflow"></a>

## 確認済みの一括下書きを準備し、効果を正確に読む

最初の投稿が成功したら、以下の製品公開プロンプトを試してください。表全体を承認した後、プランの上限に照らして一括処理を確認します。受理された公開先と拒否された公開先を分けて報告し、受理された各投稿の識別情報を保持してください。

公開権限と分析権限は異なる場合があります。後から効果の確認を依頼するときは、取得できない指標は取得不可として報告してください。ゼロを作り出したり、投稿が公開されたことからすべての指標を読めると推測したりしないでください。

> 同じ確認済み設定を使い、私が提供する公開情報から、一日ひとつずつ七日分の製品告知の下書きを準備してください。各行に下書き、公開先、メディア、現地日付、時刻、タイムゾーンを含む確認表を示してください。表全体を承認するまで、七件すべてを下書きのままにしてください。

<a id="9-cli-and-api-walkthrough"></a>

## 9. CLIとAPIの手順

リクエストファイルを明示する場合やバックエンド連携には、この任意の手順を使います。エージェント利用者は省略できます。MCPと同じアカウント、ワークスペース、公開権限を使う例です。

最初にインストール済みパッケージのヘルプと内蔵契約を確認してください。契約の確認にログインは不要です。そのパッケージに含まれる操作とスキーマが表示されます。他のプロバイダーの形式ではなく、それらのフィールド名を使ってください。

```
npx -y sosoapi --help
npx -y sosoapi api contract --summary
npx -y sosoapi api contract --route /studio-api/scheduled-posts/
```

<a id="api-workspace-context"></a>

## CLI：最初の認証済み情報取得リクエスト

auth loginを完了します。テキストエディターで以下のJSONをworkspaces.jsonに保存してから、コマンドを実行してください。内容をシェルコマンドに埋め込まず、リクエスト本文にはファイルを使います。

CLIはschema_version、http_status、bodyを返します。成功応答にはbody.active_workspace_idとbody.workspacesが含まれます。その応答から意図したワークスペースを選んでください。アクティブなワークスペースが、新しいタスクの公開先を暗黙に決めることはありません。新規アカウントの最初の呼び出しで、最初のワークスペースが初期化される場合があります。

シェルの終了コードだけでなくhttp_statusとbodyを確認してください。API操作に成功していなくても、コマンドがHTTPエラーのエンベロープを返す場合があります。

```
{}
```

```
npx -y sosoapi api post /identity-api/workspace/list < workspaces.json
```

<a id="api-connected-accounts"></a>

## CLI：接続済みソーシャルアカウントを選ぶ

アカウントに返されたワークスペースIDでaccounts.jsonを保存し、コマンドを実行します。body.accountsから意図したアカウントを選んでください。予約に使うsocial_account_idはSosoAPIのアカウントIDです。ユーザー名やプロバイダーのPage IDでは代用できません。

```
{
  "workspace_id": "<YOUR_WORKSPACE_ID>"
}
```

```
npx -y sosoapi api post /identity-api/user/social-accounts/list < accounts.json
```

<a id="api-create-schedule"></a>

## CLI：承認済みのThreadsテキスト投稿を予約する

これはリクエストのテンプレートであり、そのまま実行する投稿ではありません。ファイルエディターでpost.jsonを保存し、角括弧内を自分が認可した値に置き換えてください。未来のISO日時を、明示的なUTCオフセット付きか、UTCを表すZ付きで指定します。display_timezoneは表示用のIANAタイムゾーンで、曖昧なローカル日時を完全な指定に変えるものではありません。

UUIDなどの一意なidempotency_keyを生成し、リクエスト本文と一緒に保持してください。同じリクエストを再試行するときは同じキーを使います。応答の遅れを理由に別のキーを生成しないでください。投稿を変更した場合は別のリクエストです。新しい識別子を選ぶ前に元の結果を確認してください。

内容、アカウント、日時、権限、現在の利用枠を確認してからcreateコマンドを実行します。実際の投稿が予約されます。受理されたらbody.post.idを保持し、body.post.status、body.post.scheduled_at、body.post.destinationを確認してください。body.dedupedは既存のリクエストを再利用したかを示します。受理は、プロバイダーによる公開確認ではありません。

```
{
  "workspace_id": "<YOUR_WORKSPACE_ID>",
  "social_account_id": "<YOUR_THREADS_ACCOUNT_ID>",
  "caption": "<YOUR_APPROVED_POST_TEXT>",
  "hashtags": [],
  "media": [],
  "provider_payload": {
    "platform": "threads",
    "publish_options": {
      "post_type": "TEXT"
    }
  },
  "scheduled_at": "<FUTURE_ISO_8601_TIME_WITH_OFFSET>",
  "display_timezone": "Asia/Hong_Kong",
  "idempotency_key": "<NEW_STABLE_REQUEST_KEY>"
}
```

```
npx -y sosoapi api post /studio-api/scheduled-posts/create < post.json
```

<a id="api-read-result"></a>

## CLI：保存した投稿と結果を読み取る

返されたIDでpost-status.jsonを保存します。body.post、body.delivery、body.actions、body.outcomesを確認し、公開結果を確認してから成功を報告してください。createの応答を失った場合は保存した識別情報で元のリクエストを復元し、新しいキーで別の予約を作成しないでください。

```
{
  "id": "<RETURNED_POST_ID>"
}
```

```
npx -y sosoapi api post /studio-api/scheduled-posts/get < post-status.json
```

<a id="api-cancel-schedule"></a>

## CLI：現在の結果が許す場合だけキャンセルする

最新の読み取りでキャンセル可能と分かり、実行を希望する場合は、返されたIDと現在の数値body.post.versionをcancel.jsonに保存してください。例の1は説明用なので、直前に読んだバージョンに置き換えます。その後コマンドを実行して結果を確認してください。

バージョンが変わった場合やキャンセルできない場合は、同じ投稿を再読し、実際に利用可能な操作を使ってください。バージョン競合を回避したり、キャンセルと公開済み投稿の削除を混同したりしないでください。

```
{
  "id": "<RETURNED_POST_ID>",
  "expected_version": 1
}
```

```
npx -y sosoapi api post /studio-api/scheduled-posts/cancel < cancel.json
```

<a id="http-from-your-backend"></a>

## HTTP：自分のバックエンドから呼び出す

サーバー側の連携ではConnection → APIでAPIキーを作成し、シークレットをサーバーの秘密情報設定に保存します。現在の画面は名前だけを要求し、ワークスペースや機能の選択項目はありません。ユーザーが作成したキーは、アクセス可能なワークスペース全体でoperate、publish、engageが既定になります。その権限が連携に適切か確認してください。API契約ではcapabilitiesとworkspace_idsを明示的に制限したキーも作成できます。

通常のエージェント設定はOAuthを使うため、このAPIキーの手順は不要です。例のSOSOAPI_ACCESS_TOKENはキーを格納するサーバー側の例示変数で、SosoAPI CLIの設定ではありません。CLIで任意の個人アクセストークンを渡す変数はVICKY_API_KEYです。

上記のworkspaces.jsonを使います。直接HTTPはCLIのhttp_status/bodyエンベロープを付けずにエンドポイントの本文を返すため、実際のHTTPステータスとJSONを確認してください。認証情報はバックエンドに保持し、ブラウザーコード、プロンプト、スクリーンショット、共有リクエストファイルに含めないでください。

自社製品に顧客向けのソーシャル接続を組み込むことは、別の連携作業です。この単一アカウントの手順だけでは、顧客の導入フローが完成したとは証明できません。

```
curl --fail-with-body --silent --show-error \
  -H "Authorization: Bearer ${SOSOAPI_ACCESS_TOKEN}" \
  -H 'Content-Type: application/json' \
  --data-binary @workspaces.json \
  'https://gqeshlawtcexsapabaui.supabase.co/functions/v1/identity-api/workspace/list'
```

- [APIキーの管理：Connection → API](https://app.sosoapi.ai/connection/api?lang=en)

- [APIリファレンス](https://sosoapi.ai/ja/docs/api)

- [APIキーの作成と明示的な権限](https://sosoapi.ai/ja/docs/api/identity-api-api-keys-create)

- [認証と権限](https://sosoapi.ai/ja/docs/authentication)

- [CLIリファレンス](https://sosoapi.ai/ja/docs/cli-reference)

<a id="10-troubleshooting"></a>

## 10. トラブルシューティング

実際のエラーと、診断している接続に基づいて対処してください。権限の拡大や送信の繰り返しですべての失敗が直るわけではありません。

元のリクエストを失わずに復旧する

| 症状 | 確認または実行すること |

| --- | --- |

| nodeまたはnpxが利用できない | ローカルMCP用に対応するNode.jsをインストールするか、互換性のあるホスト型MCPを使ってください。 |

| npx sosoapiがずっと待機しているように見える | コマンドなしで実行すると、stdio MCPサーバーとしてクライアントを待ちます。端末での使い方は--helpで確認してください。 |

| インストール済みだが会話にツールがない | 実際のクライアントを再接続または再起動し、現在の会話でSosoAPIを有効にしてください。 |

| 誤ったブラウザープロフィールでログインが開く | 自分の保留中のローカルログインを停止してください。--helpで--no-openの対応を確認し、npx -y sosoapi auth login --no-openを実行します。新しいリンクを意図したプロフィールで開き、本人情報を確認してから同意してください。同じリンクを複数のプロフィールで同時に進めないでください。 |

| ポート8789が使用中 | lsof -nP -iTCP:8789 -sTCP:LISTENで確認してください。自分の保留中のログインプロセスだと分かる場合だけ停止してください。 |

| メール検証またはログインに失敗する | 実際のエラーを確認し、提示された再試行を使ってください。メールログインはバックグラウンドで検証するため、探して操作するCAPTCHAチェックボックスはありません。Continue with Googleも利用できます。 |

| 401応答 | この接続のログインと認証情報の有効性を確認してください。ローカルのauth statusはホスト型コネクターを確認しません。 |

| 403または公開操作がない | 選択したワークスペース、役割、付与された機能権限を確認し、必要に応じて所有者にアクセスを依頼してください。 |

| 対象のソーシャルアカウントが見つからない | 本人情報、ワークスペース、プロバイダーのアカウント選択を確認し、保留中の接続確認を完了してください。 |

| 接続できたが投稿できない | 対象アカウントの機能とプラットフォーム要件を確認してください。新しいプロバイダー同意が必要な場合だけ再接続します。動画アクセスはテキストアクセスと異なる場合があります。 |

| アップロードパスが許可フォルダーの範囲外 | 許可されたフォルダーを使うか、ローカルMCP環境でSOSOAPI_UPLOAD_ROOTSを意図的に設定してください。 |

| メディアのインポートが保留のまま | 既存のインポートとジョブIDを確認してください。重複したインポートを作成せず、実行または設定エラーを報告します。 |

| 利用枠またはXクレジットを使い切った | 該当する利用枠を確認し、許可された予約またはプランの操作を選んでください。繰り返し送信しても上限は解除されません。 |

| 作成リクエストがタイムアウトする | リクエストキーと、判明している場合は受理された投稿IDを保持してください。再試行の前に元のリクエストを読み取るか復元し、同じ内容の再試行には同じキーを使います。 |

| 更新またはキャンセルでバージョンが競合する | 同じ投稿を再読し、利用可能な操作を確認して、意図した操作だけに現在のバージョンを使ってください。 |

| スキーマまたはバージョン不整合のエラー | MCPクライアントが実際に実行するパッケージを更新し、再接続してその契約を確認してください。権限を増やしてもスキーマの不一致は直りません。 |

<a id="updates-and-revocation"></a>

## 更新、アクセス取り消し、問い合わせ

以下の最初のコマンドは、MCPサーバーを起動せずに最新版のヘルプを確認します。クライアントの保存コマンドでバージョンを固定している場合は、そのコマンドを意図的に更新してください。別のグローバルインストールを更新しても、クライアントの固定バージョンは更新されません。

ローカル端末のアクセスを取り消すにはConnection → Agentか、以下のauth logoutを使います。ホスト型コネクターはConnection → Agentで該当する認可を取り消してください。APIキーはConnection → APIで別に管理します。エージェントのアクセスを取り消しても受理済みの予約はキャンセルされないため、別途管理してください。

支援が必要な場合は、クライアントとパッケージのバージョン、失敗した手順、表示されたエラー、日時とタイムゾーンを伝えてください。必要なリクエストIDや投稿IDはサポートに非公開で共有します。認証情報、認可リンク、トークンを含み得る生ログは送らないでください。

```
npx -y sosoapi@latest --help
```

```
npx -y sosoapi auth logout
```

- [エージェントクライアントの管理：Connection → Agent](https://app.sosoapi.ai/connection/agent?lang=en)

- [APIキーの管理：Connection → API](https://app.sosoapi.ai/connection/api?lang=en)

- [トラブルシューティングの参照](https://sosoapi.ai/ja/docs/troubleshooting)

- [SosoAPIサポートに連絡](mailto:vickyai.tech@gmail.com)

<a id="setup-completion-checklist"></a>

## 設定完了チェックリスト

投稿を送信せずに接続設定を完了できます。公開する場合は、別途結果を確認し、最初の公開フローが完了したことを確かめてください。

- クライアントでSosoAPIツールが使えるか、CLI/APIで認可されたリクエストを送信できる。

- 意図したアカウントでログインし、正しいワークスペースを選んだ。

- ソーシャルアカウントが表示され、タスクに必要な機能を持っている。

- エージェントが準備だけできるのか、予約と公開もできるのかを理解している。

- 下書きを準備し、公開先、内容、日時を正確に確認できる。

- 投稿を送信した場合、IDを保持し、受理と公開確認を区別できる。

- 失敗の確認、保留中の予約の管理、アクセスの取り消し方法を理解している。
