コンテンツにスキップ

APIs

Cloudflare WorkersからサードパーティAPIと統合するには、fetch APIを使用してAPIエンドポイントにHTTPリクエストを行います。その後、レスポンスデータを使用して必要に応じてコンテンツを修正または操作します。

例えば、天気APIと統合したい場合は、APIエンドポイントにfetchリクエストを行い、現在の天気データを取得します。このデータを使用して、ウェブサイトに現在の天気条件を表示します。

fetch()リクエストを行うには、プロジェクトのsrc/index.jsファイルに以下のコードを追加します:

async function handleRequest(request) {
// サードパーティAPIエンドポイントへのfetchリクエストを行う
const response = await fetch("https://weather-api.com/endpoint", {
method: "GET",
headers: {
"Content-Type": "application/json",
},
});
// レスポンスからデータを取得する
const data = await response.json();
// 必要に応じてデータを使用してコンテンツを修正または操作する
return new Response(data);
}

認証

APIが認証を必要とする場合は、Wranglerシークレットを使用して資格情報を安全に保存します。これを行うには、次のwrangler secretコマンドを使用してCloudflare Workersプロジェクトにシークレットを作成します:

Terminal window
wrangler secret put SECRET_NAME

次に、以下のコードスニペットを使用してコード内でシークレット値を取得します:

const secretValue = env.SECRET_NAME;

その後、シークレット値を使用して外部サービスに認証します。例えば、外部サービスが認証のためにAPIキーを必要とする場合は、それをリクエストヘッダーに含めます。

mTLS認証が必要なサービスには、mTLS証明書を使用してクライアント証明書を提示します。

ヒント

  • Cache APIを使用してサードパーティAPIからのデータをキャッシュします。これにより、APIに対して行われるキャッシュ可能なリクエストを最適化できます。Cloudflare WorkersからサードパーティAPIと統合することで、アプリケーションに追加の機能や特徴を加えることができます。

  • 外部APIと通信する際には、カスタムドメインを使用し、Workerをコアアプリケーションとして扱います。