9

Google App Script で投稿リクエストの生の本文にアクセスする必要があります。次のようなものがあることがわかります

function doPost(request) {
  request.contentLength
}

実際には、リクエスト本文の生のコンテンツの正しい長さを返します。だから私は完全なボディを得るために何かがあるに違いないと思った.例えば、文字列として。

ポストを使用して転送される可能性のあるフォーム フィールド パラメータにアクセスするつもりはありません。

4

7 に答える 7

11

2013 年 5 月 9 日のリリース ノートから、request.postData.getDataAsString()を使用します。

function doPost(request) {
    var jsonString = request.postData.getDataAsString();
    var jsonData = JSON.parse(jsonString);
    sheet.appendRow([ 'Data1:' , jsonData.Data1 ]); // Just an example
}
于 2013-07-08T17:33:08.467 に答える
1

これも機能するはずです。

function doPost(e) {

  if(typeof e !== 'undefined')
    Logger.log(e.parameter);

}
于 2015-05-19T19:54:29.373 に答える
1

RESTサービスを実装するなど、POST本体にアクセスすることは現在可能ではないと思います。私はこれについて機能強化リクエストを提出しました。この問題に遭遇した場合は、気軽にスターを付けてその問題に投票してください。

于 2012-12-05T02:39:26.470 に答える
1

パラメータから Blob を作成することで、投稿の生の本文にアクセスできます。その後、getBytes() や getDataAsString() など、Blob オブジェクトのさまざまなメソッドを呼び出すことができます。関数はここにリストされています。

function doPost(event) {
  var contentBlob = event.parameter.thefile;
  var contentAsString = contentBlob.getDataAsString();
  var bytes = contentBlob.getBytes();
  // do something with the contents ...
}
于 2012-10-24T21:02:20.460 に答える
0

アクセスできるすべてのものを見つける最も簡単な方法は、リクエスト オブジェクトを出力することです。

function doPost(request) {
  Logger.log(request); 
}

次に、スクリプトの URL に POST を実行して、ログの内容を確認します。

于 2012-10-18T15:55:45.687 に答える