御世話になります。
google apps script から aws lambda node.jsへの読み替えをお願いしたいと思います。
[ 背景]
ソラコムというapiを利用したいと考えています。
実行環境としては、aws lambda で言語は node.js になります。
このapiを遠隔的に操作するために、lambda が便利だと分かりましたが、lamdba と node.jsに関して不勉強でうまく実装できない状態です。
ただ、apiということで、http通信をすることは分かり、自分が知っている言語:google apps script でapiの認証結果を受け取ることが出来ました。
コード
1function myFunction() { 2 var url = 'https://api.soracom.io/v1/auth'; 3 var headers = { 4 "Accept": "application/json" 5 }; 6 7 var payload = { 8 "email":"登録したメール", 9 "password":"登録したパスワード" 10 }; 11 12 var options = 13 { 14 15 'contentType': 'application/json', 16 "headers":headers, 17 "method": "post", 18 "payload" : JSON.stringify(payload) 19 }; 20 21 var response = UrlFetchApp.fetch(url,options); 22 var data = JSON.parse(response.getContentText()); 23 Logger.log(data); 24} 25
結果
1 {apiKey=〇〇, userName=null, operatorId=××, token=△△}
これをベースに、awsで node.js を利用している記事を参考に、以下のソースコードを作成しました。
lambda node.js コード(自作読み替え)
node.js
1// Generated by CoffeeScript 1.10.0 2var https; 3 4https = require('https'); 5 6exports.handler = function(event, context) { 7 var headers,payload,options,req; 8 9 headers = { 10 "Accept": "application/json" 11 }; 12 13 payload = { 14 "email":"登録したメール", 15 "password":"登録したパスワード" 16 }; 17 18 options = { 19 method: 'POST', 20 hostname: 'https://api.soracom.io', 21 port: 443, 22 path: '/v1/auth' 23 }; 24 25 req = https.request(options, function(res) { 26 res.setEncoding('utf8'); 27 return res.on('data', function(d) { 28 console.log(d); 29 context.succeed(d); 30 }); 31 }); 32 req.on('error', function(e) { 33 context.fail(e.message); 34 }); 35 req.write(JSON.stringify(payload)); 36 req.end(); 37}; 38 39return;
エラーがこちらになります。
node.js
1{ 2 "errorMessage": "getaddrinfo ENOTFOUND https://api.soracom.io https://api.soracom.io:443" 3}
【聞きたい内容】
google apps script で実現した結果を、lambda のログで確認したいです。
もし足りない情報がありましたら、コメントを頂ければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/11 11:05