- 基本情報
- 管理者向け
- RPA ワークフロー プロジェクト
- アプリ プロジェクト
- エージェンティック プロセス
- Agents
- Solutions (ソリューション)
- API ワークフロー
- テスト

Studio Web ガイド
HTTP 呼び出しによるページング
以下のチュートリアルでは、[ 繰り返し (後判定 )] アクティビティを使用して、すべてのデータが取得されるまで HTTP 呼び出しを繰り返し実行して、API のページネーションを処理する方法について説明します。
カーソル、ページ終了フラグ、制限などのページネーション インジケーターは、通常、応答ヘッダー、応答本文、またはクエリ パラメーターに含まれます。
この例では、 OpenBreweryDB API を使用して醸造所のリストを取得します。OpenBreweryDB API仕様によると、ページネーションは オフセットベース (ページベース)のパラメータを使用して処理されます。データセットをページネーションするには、HTTP 要求にクエリ パラメーターとして per_page=X&page=Y を含めます。
-
[HTTP] アクティビティを追加し、次のように設定します。
- メソッド - GET
- 要求 URL—
https://api.openbrewerydb.org/v1/breweries?per_page=10&page=1https://api.openbrewerydb.org/v1/breweries?per_page=10&page=1
-
API ワークフローをデバッグして、醸造所の最初のリストを取得します。
-
[スクリプト] アクティビティを追加し、次のコードを指定します。
const url = new URL($input.request.url); const currentPage = Number(url.searchParams.get("page")); return { nextPage: currentPage + 1, content: $input.content}const url = new URL($input.request.url); const currentPage = Number(url.searchParams.get("page")); return { nextPage: currentPage + 1, content: $input.content}$context の代わりに $input を使用すると、特にループ ブロック内では、直近で実行されたアクティビティの出力を常に参照できます。JavaScript コードは、 nextPage プロパティと content プロパティを持つ JSON オブジェクトを返します。これらのプロパティを使用すると、たとえば、 nextPage < 10 または content が null でない間にループを制御できます。
-
既存の [繰り返し (前判定)] アクティビティの上に [繰り返し (後判定>ループ)] アクティビティを追加します。
- [繰り返し (後判定)] アクティビティと [スクリプト] アクティビティの両方を [繰り返し (後判定)] アクティビティの本体内に移動します。
- [繰り返し (後判定)] アクティビティの [条件] を [
$input.nextPage < 5] に設定します。 - [HTTP] アクティビティで、[要求 URL] プロパティの [式エディター] を開き、式を次のように更新します。
"https://api.openbrewerydb.org/v1/breweries?per_page=10&page=" + ($input.nextPage == null ? 1 : $input.nextPage)"https://api.openbrewerydb.org/v1/breweries?per_page=10&page=" + ($input.nextPage == null ? 1 : $input.nextPage)
-
ワークフローを再度デバッグし、[実行結果] パネルの [出力] タブで結果の配列を確認します。
-
[ 繰り返し (後判定 )] アクティビティの外に [ 応答 ] アクティビティを追加し、次のように設定します。
- タイプ - 成功
- [詳細] - [式エディター] を開き、以下を書き込みます。
$context.outputs.Do_While_1.results.flatMap(result => result.content.map(brewery => brewery.name)) ```This summarizes the response at step 6 and lists only the names of the breweries.$context.outputs.Do_While_1.results.flatMap(result => result.content.map(brewery => brewery.name)) ```This summarizes the response at step 6 and lists only the names of the breweries.
-
[出力を実行] パネルの [出力] タブから結果をコピーし、出力スキーマとして設定します。
- [データ マネージャー] パネルを開きます。
- [ 出力 ] タブで、[ ペイロードから生成] を選択します。
- コピーした結果を貼り付けて、[ スキーマを生成] を選択します。