質問: 200) { console.log(body.name); } else { console.log('error: '+ response.statusCode); } }); ``` 【お聞きしたいこと】 node.jsでpost通信をする方法になります。文法的な指摘を頂ければと思います。 【追記】 ご指摘ありがとうございます。「ソラコムapiをlambdaのnode.jsで実行する」という目的のために開発を進めています。しかし、lambdaの使い方もnode.jsの書き方も分からない現状でした。そこで、唯一ソラコムapiで実行できたgoogle apps scriptを出発点に、質問し解決できればと考えていました。また、実行できたコードがあれば、質問し易いと判断したのですが、逆に誤解を与えてしまい申し訳ありませんでした。 コメントにありましたエラーですが、以下になります。 { "errorMessage": "RequestId: 681aa76f-bec9-11e6-b389-bfe89320e0af Process exited before completing request" } よろしくお願いします。
回答: パッと見で気になる所が、以下に3つあります。 ``` var options = { headers:headers, 'contentType': 'application/json', uri:'https://api.soracom.io/v1/auth', "payload" : JSON.stringify(payload), json: true }; ``` 1. 「'contentType': 'application/json'」は、最初に定義したheaders変数に含めるのでは? 2. 「"payload" : JSON.stringify(payload)」は、これだけ値がダブルクォーテーションで囲まれてますが、他が付いてないので不要では? 3. あと payload という名称の利用は正しいのでしょうか?GithubのReadmeを見た感じだと、 body が使われているようですが。 (明快なサンプルが無いので試さないと分かりませんが) 書いてくいただいた、今回発生したエラーの内容ですが、これはAWSが「何か分かんないけどエラーになりました」と言ってる程度なので、「context.done」をソースに書いて、具体的なエラー内容を確認してください。 おまけ: Lambdaのトラブルシューティング node.jsもLambdaも勉強中でしたら、まずはローカル環境のnode.jsでpostを成功させてから、Lambdaで試した方が早いと思います。