質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

解決済

1回答

85閲覧

Express.jsにてPOSTリクエストでJSONデータを受け取る

nanaios

総合スコア1

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

1クリップ

投稿2024/05/07 16:21

環境
Glitch,Google Apps Scriptを使用
node:16.14.0
express:4.19.2

このような設定で以下のようなコードを書きました
Glitch側

javascript

1import express from "express"; 2 3const app = express(); 4 5app.use(express.urlencoded({ 6 extended: true 7})); 8app.use(express.json()); 9 10app.post("/", (req, res) => { 11 const payload = req.body; 12 console.log(payload) 13 res.end(); 14}); 15app.listen(3000, () => { 16 console.log("Server running at PORT:3000",); 17}).on("error", (error) => { 18 throw new Error(error.message); 19});

Google Apps Script側

javascript

1 const headers = { "Content-Type" : "application/x-www-form-urlencoded" } 2 const option = { 3 "method": "post", 4 "payload": '{"test":"test"}', 5 "headers" : headers, 6 } 7 UrlFetchApp.fetch(GLITCH_URL, option);

ローカルホストのサーバーを立てて、Postmanでリクエストした際は正常だったのですが、この環境だと、なぜか出力されるJSONが以下のようになります

Google Apps Scriptで送ったJSON

json

1{"test":"test"}

Glitchで出力されるJSON

json

1{ '{"test":"test"}': '' }

このように、JSONのデータが丸ごとkeyに変化してしまいます。
どんなJSONデータでもこのようになります。
content-typeなども変えてみたりはしたのですが、何も変化がありません。
どのようにしたらよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nanaios

2024/05/07 16:22

追記 content-typeは上記の以外にするとそもそもreq.bodyが空になります
guest

回答1

0

自己解決

自己解決しました。JSON.stringfyをどうやら複数回実行していたらしく、ヘッダーとコードを修正したら正しくパージされるようになりました。
コメントありがとうございました

投稿2024/05/08 06:21

nanaios

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問