LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Saturday, February 23, 2019

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

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...