1

GDocs を使用して Web データを取得したいのですが、データがフォームの背後にあるため、結果を取得するにはデータをフォームに投稿する必要があります。(だから私はImportXMLなどを使うことができません私はJavaスクリプトの経験があまりないので。URL、フォーム名、および GDocs で使用できる投稿するデータを取得するスクリプトを持っている人はいますか?

4

1 に答える 1

0

このようなスクリプトの例を次に示します: How do I use Google Apps Script to change a CSS page to one with inline styles? .

別のアプリケーションですが、メソッドが適用されます。ここでは、開始するためのスケルトン関数を示します。

オブジェクトには、シミュレートするフォーム データのpayload名前と値のペアが含まれている必要があります。はurl、フォームを送信するサイトに合わせて変更する必要があります。POSTを呼び出してリクエストを作成したら、 Does Google Apps Script has something like getElementById?のユーティリティUrlFetchApp.fetch()を使用してレスポンスを解析できるはずです。.getElementByVal()

function postForm() {
  // Generate a POST request with form data.
  var payload =
  {
    "name" : 'Anonymous Person',   // Replace with relevant name / value pairs
    "town" : "Springfield"
  };

  // Because payload is a JavaScript object, it will be interpreted as
  // an HTML form. (We do not need to specify contentType; it will
  // automatically default to either 'application/x-www-form-urlencoded'
  // or 'multipart/form-data')

  var options =
  {
    "method" : "post",
    "payload" : payload,
    "muteHttpExceptions" : true
  };

  var url = "http://form.somewhere.com";   // Replace as appropriate
  var response = UrlFetchApp.fetch(url, options);

  // Put the receieved xml response into XMLdocument format
  var xml = response.getContentText();
  var doc = XmlService.parse(xml);

  // Extract the details you want...
  var someData = getElementByVal( doc, 'textarea', 'name', 'text' );

  ...
}
于 2014-01-07T18:55:12.143 に答える