Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年2月23日土曜日

AWS LambdaでAPI Gatewayのクエリパラメータを渡したい(GASでfetch)


Lambda Function とAPI Gateway を使ったことがない場合
AWS LambdaとAPI Gatewayを使ってみる



API Gatewayのendpointにブラウザからアクセスする方法は
AWS LambdaでAPI Gatewayのクエリパラメータを取得したい
に書きました。

ここではGoogle Apps Script の UrlFetchApp.fetch で endpoint + クエリパラメータにアクセスして、Lambdaからの戻り値をログに出してみます。

https://API_ID.execute-api.us-east-1.amazonaws.com/default/FUNCTION_NAME?key=value


Google Apps Script側のコード

コード.gs
function run() {
  var url = 'https://API_ID.execute-api.us-east-1.amazonaws.com/default/FUNCTION_NAME?key=value';
  var response = UrlFetchApp.fetch(url);
  Logger.log(response);
}

意訳
この機能がやること
API Gatewayのendpointにクエリパラメータをつけて
urlにアクセスしてデータを取得して
ログに出す




Lambda 側のコード

index.js
exports.handler = async (event) => {
    var  param = event['queryStringParameters'];
    var  response = {
        body: JSON.stringify(param),
    };
    return response;
};
意訳
この機能がやること
受け取ったeventからクエリパラメータを取得して
返すオブジェクトを作って
JSONに変換してbodyの値として

返す



実行結果

Google Apps Script側のログに以下のように出ます

 {"key":"value"}


関連記事

Latest post

Google Classroom API でクラスの一覧を取得したい

自分が指導・参加しているクラスの名称とIDを取得するコードを試しました 下記 Code.gs では pageSize で 100 を設定していますが 必ず 100件 返ってくるとは限らないらしいです https://developers.google.com/workspace/...