UrlFetchApp.getRequestはどんな時に使いますか?

1,894 views
Skip to first unread message

dainnne

unread,
Mar 4, 2014, 6:24:05 AM3/4/14
to google-app...@googlegroups.com
UrlFetchApp の中に

UrlFetchApp.getRequestというメソッドがあり、仕様では

Returns the request that would be made if the operation was invoked. This method does not actually issue the request.
操作が実行された場合のリクエストを返す。このメソッドは、リクエストは発行しない。

となっているようです。

リファレンス

このメソッドは、フェッチするサイトが要求する コンテンツ以外の送信情報を取得するためにある・・・・
と考えてもよいでしょうか・・・このメソッドにオプションを付けることもでき、
何に使うかよく理解できないです。

アドバイスいただけると、助かります。
ひと通り、stackoverflowの例は見てあります。



soundTricker

unread,
Mar 5, 2014, 4:32:41 AM3/5/14
to google-app...@googlegroups.com
こんにちは
大橋ことサントリーです。

getRequestはUrlFetchにて自動設定される部分を見るためによく使います。

例えばUrlFetchAppではpayloadにBlobを設定すると自動でcontent-typeがmultipart/form-dataになったりするのですが、
その辺の動きを見るのによく使ったりします。

それ以外にもURLのエンコード具合を見たりなどデバッグ用に用意されているとかんがえると良いと思います。

※サンプルコード

以下のコードはcontent-typeがmultipart/form-dataとして設定されている
function myFunction() {
 
var hoge = UrlFetchApp.getRequest("http://google.com", {
    method
: "post",
    payload
: {file : Utilities.newBlob("test")}
 
 
});
 
 
Logger.log(hoge);
}



以下の場合だとapplication/x-www-form-urlencodedになる。
function myFunction() {
 
var hoge = UrlFetchApp.getRequest("http://google.com", {
    method
: "post",
    payload
: {test : "hoge"}
 
 
});
 
 
Logger.log(hoge);
}





2014年3月4日火曜日 20時24分05秒 UTC+9 dainnne:

dainnne

unread,
Mar 6, 2014, 8:02:36 AM3/6/14
to google-app...@googlegroups.com
sound Tricker さん いつもコメントありがとうございます。m(_ _)m  
qittaの「よく使うTime Triggerのテンプレ」を今、見させて頂いています。Moment.jsと匿名関数のGASでの使い方すごく勉強になってます。

UrlFetchApp.getRequestの動作が理解できました。
誤解の原因は、

  var response = UrlFetchApp.fetch(url);
    var headers = response.getHeaders();

と混同していました。
UrlFetchAppメソッドにありえないURLを打ち込んで、ログを見ても表示されるので気が付きました。getで一度送信したリターンを表示するのでなく、fetchで送信予定のオプションを確認するため使うメソッドとわかりました。まさに、content-typeやURLエンコード確認に使える、デバックに使えると理解出来ました。     ありがとうございます!                                   sound tricker山のあげてくれたblobの例では、payload : {file : Utilities.newBlob("test").getDataAsString()}  で対応出来ました。
2014年3月5日水曜日 18時32分41秒 UTC+9 soundTricker:こんにちは

soundTricker

unread,
Mar 6, 2014, 10:02:56 PM3/6/14
to google-app...@googlegroups.com
良かったです :)
Reply all
Reply to author
Forward
0 new messages