Edited at

GASにPOSTする時はリダイレクトのサポートをオンにするのを忘れるな

More than 1 year has passed since last update.

NodejsでGASにPOSTしようとしたら"Moved Temporarily"というエラーが出ました。


postToGas.js

const rp = require('request-promise');

const formData = { hoge : 'payload'};
rp({
url : 'https://script.google.com/macros/s/xxx/exec',
method : 'POST',
form : formData
})


result.txt

Moved Temporarily

The document has moved
<A HREF=\"https://script.googleusercontent.com/macros/echo?user_content_key=aaa;lib=bbb\">here</A>

調べてみると request-promise(request) はデフォルトではリダイレクトはフォローされてないようですので、

followAllRedirects をtrueにしたら解決しました。


new_postToGas.js

const rp = require('request-promise');

const formData = { hoge : 'payload'};
rp({
url : 'https://script.google.com/macros/s/xxx/exec',
method : 'POST',
form : formData,
followAllRedirects : true
})
//これで正常にPOSTされます