GoogleフォームからAPI Gatewayで作成したREST APIにPOSTリクエストする
「API GatewayからLambdaを介さずにSNSトピックへ送信」の続きです。
API GatewayからSNSへ直接パブリッシュできたので、今度はそのREST APIにGoogleフォームからリクエストします。
この部分です。
目次
Google App Script コード
「ライブ配信のカレンダーをGoogle Apps Scriptとかで作りました」のコードに追加しました。
一応全部記載しておきます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
function addCalendar(event) { console.log(event); var title = String(event.namedValues['ライブタイトル']); var date = String(event.namedValues['日付']); var startTimeStr = String(event.namedValues['開始時間']); var endTimeStr = String(event.namedValues['終了時間']); var introduction = String(event.namedValues['紹介文']); var url = String(event.namedValues['URL']); introduction += '\n'+url; var startTime = new Date(date + ' ' + startTimeStr); var endTime = new Date(date + ' ' + endTimeStr); var options = {"description": introduction} var calendar = CalendarApp.getCalendarById('xxxxxxxx@group.calendar.google.com'); var evet = calendar.createEvent( title, startTime, endTime, options ); var payload = { 'title': title, 'startTime': date + ' ' + startTimeStr, 'endTime': date + ' ' + endTimeStr, 'description': introduction }; var parameters = { 'method': 'post', 'contentType': 'application/json', 'payload': JSON.stringify(payload) }; var api_endpoint = 'API ENDPOINT'; var response = UrlFetchApp.fetch(api_endpoint, parameters); } |
var payload 以降が今回追加したコードです。
API ENDPOINTには実際のエンドポイントが入ります。
マニフェストファイル
「Google Apps Scriptのマニフェストファイルの編集」のマニフェストファイルにも追加です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.currentonly", "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/script.external_request" ] } |
上記のようにして、一度スクリプトエディタの画面で手動で実行しておきました。
確認
「配信ライブカレンダー」の「カレンダーに配信ライブ予定を追加するにはこちらのリンクから」からのフォームから送信すると、SQSまでメッセージが届きました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Amazon Rekognitionでイベント参加者の顔写真を解析して似ている人ランキングをその場で作る
2017/9/21に開催されたAWS Cloud Roadshow 2017 大 …
-
-
AWS CodePipeline クロスアカウントアクセスパイプライン
AWS CodePipelineでクロスアカウントアクセスのパイプライン作成手順 …
-
-
DynamoDB IAMポリシーで特定属性だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …
-
-
Amazon Connectの新規作成からプッシュボタン入力と発信元電話番号をLambdaで処理するまで
とりあえずやりたいことはタイトルに書いたとおり、「電話をかけて、プッシュボタンに …
-
-
AWSのAmazon LinuxにGitマスターサーバをインストールしてRedmineリポジトリブラウザで見る
Amazon LinuxにGitをインストールする Gitをインストールして自動 …
-
-
Google Apps ScriptでAdmin SDK Directory Serviceを使ってグループメンバー情報を出力する
GoogleAppsのGoogleGroupをメーリングリストとして使っている人 …
-
-
S3インベントリ設定でインベントリファイルの作成を設定
インベントリレポートファイルはオブジェクトの一覧情報です。 日次、週次で定期作成 …
-
-
AWS認定試験の自宅受験で壁のポスターを注意されちゃいました
AWS認定オンライン受験をしてみましたに書きましたとおり、自宅受験デビューしまし …
-
-
EKS「現在の IAM プリンシパルは、このクラスター上の Kubernetes オブジェクトにアクセスできません」
マネジメントコンソールでクラスターのオブジェクトを見ようと、リソースの名前空間や …
-
-
Amazon S3アクセスポイント経由からアクション可能なポリシー
S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイ …


