Skip to main content

と通信するように Copilot エージェントを構成する

ペイロードを確認し、 から Copilot agent を使用してリソースを取得する方法について説明します。

前提条件

と通信するように Copilot agent を構成する前に、Copilot agent が Copilot プラットフォームと通信する方法を理解しておく必要があります。 「Copilot プラットフォームと通信するように Copilot エージェントを構成する」を参照してください。

ペイロードが から送信されていることを確認する

Copilot agent が要求の処理を開始する前に、要求が から送信されていること、およびエージェントを対象としていることを確認する必要があります。 すべてのエージェント要求には、X--Public-Key-Identifier ヘッダーと X--Public-Key-Signature ヘッダーが含まれます。 特定の要求の署名を確認するには、X--Public-Key-Signature ヘッダーの署名と、https://api..com/meta/public_keys/copilot_api に記載されている現在の公開キーを使用して、要求本文の署名済みコピーを比較します。

特定の言語での署名検証の詳細と例については、「-technology-partners/signature-verification」リポジトリを参照してください。

⚠️ 注: 現在は、これらのヘッダーの重複するペアが送信されています。 1 つのセットには -Public-... というプレフィックスが付いており、もう 1 つには X--Public... が付いています。 前者は、3 月 31 日までに 終了 になります。 それまでに、関連するチェックを正しいプレフィックス (X--Public...) に更新してください。

API からのリソースのフェッチ

Copilot agent への要求は、X--Token ヘッダーを受け取ります。 このヘッダーには、エージェントと対話するユーザーの代わりに API からリソースをフェッチするために使用できる API トークンが含まれています。 このトークンのアクセス許可は、ユーザー自身のアクセス許可と、 App インストールに付与されるアクセス許可の重複です。

X--Token の使用方法の例については、次のコード サンプルを参照してください。

async function whoami(req) {
  const response = await fetch(
    // The  API endpoint for the authenticated user
    "https://api..com/user",
    {
      headers: {
        "Authorization": `Bearer ${req.headers.get("x--token")}`
      }
    }
  )

  const user = await response.json()
  return user
}

の API の操作の詳細と、公式のソフトウェア開発キット (SDK) については、「octokit 組織」を参照してください。