Quantcast
Channel: ソフラボの技術ブログ
Viewing all articles
Browse latest Browse all 166

GoogleスプレッドシートでGET/POST通信を行いコンテンツを取得する

$
0
0

f:id:shinsuke789:20150103164126p:plain

必要なもの

  • ネット環境
  • Google SpreadSheet

スクリプトの作成

1.Googleスプレッドシートを開き、ファイルメニュー「ツール」→「スクリプトエディタ」と選択します

f:id:shinsuke789:20150103163133p:plain:w230


2.スクリプトエディタのファイルメニュー「ファイル」→「新規作成」→「スクリプトファイル」を選択します

f:id:shinsuke789:20150103163139p:plain:w400

スクリプトファイル名は拡張子を除いて入力すると、自動的に「.gs」ファイルとして作成されます。

GET

// アクセス先var url = "http://www.google.co.jp/"// GETリクエストvar response = UrlFetchApp.fetch(url);
// HTMLの結果を取得(引数のcharsetは設定したほうが良い)var content = response.getContentText("UTF-8");

POST

// POSTデータvar payload = {"user_id" : "userid",
  "password" : "pass",
  "submit" : "ログイン"}// POSTオプションvar options = {"method" : "POST",
  "payload" : payload
}// アクセス先var url = "http://hoge.jp/"// POSTリクエストvar response = UrlFetchApp.fetch(url, options);
// HTML結果を取得(引数のcharsetは設定したほうが良い)var content = response.getContentText("UTF-8");

Cookie

// Request Cookie// クッキー(複数ある場合、「;」で区切るvar cookie = "hoge=1234; foo=abcd";
// headersにCookieを設定var headers = {"Cookie" : cookie;
}// リクエストオプションにheadersを設定var options = {"headers" : headers
}// リクエストvar response = UrlFetchApp.fetch(url, options);


// Response Cookie// レスポンスヘッダーからCookieを取得var cookies = response.getAllHeaders()["Set-Cookie"];
for (var i = 0; i < cookies.length; i++) {
  Logger.log(cookies[i]);
}

コンテンツからの値の取得

取得したコンテンツから値を取得したい場合、Javascriptの「String.match(regex)」を使います。

var content = response.getContentText("UTF-8");
var id = content.match(/name="hoge_id" value="(.+)"/)[1];  

まとめ

ドキュメントが英語なので調べるのが結構大変でした。
英語は読めなくてもコードさえあればわかるので、今回はStackOverflowに大変お世話になりました。


簡単なスクリプトを書くだけでHTTP通信ができます。
ネット環境とGoogleSpreadSheetされあれば、開発ができてしまうのは魅力的です。


GoogleAppsScriptは、サーバーサイド言語ですのでサーバー側で実行されます。
fetch毎にサーバーのIPアドレスが変わる仕様のようで、セッションを維持する必要のあるサイトへ接続し、一連の処理を行おうとしても、IPアドレスが変わっているため同一セッションと扱われないので注意してください。


Javascriptに似た言語」なのでJavascriptで使えるものが全て使えるわけではないです。
今回は、joinが使えないことがわかりました。


やはりスクリプト言語ということで、多機能ではないようです。
本格的な処理をさせたい場合、Javaなどの通常の言語を使用することをおすすめします。

貴重なGoogleAppsScript書籍

誰でもできる!  GoogleApps導入ガイド

誰でもできる! GoogleApps導入ガイド

Google クラウドスクリプティング Google Apps ScriptによるGoogleパワーアップ活用ガイド

Google クラウドスクリプティング Google Apps ScriptによるGoogleパワーアップ活用ガイド

Google Appsでつくる仕事便利ツール ?Google Apps Scriptで実践構築?

Google Appsでつくる仕事便利ツール ?Google Apps Scriptで実践構築?


Viewing all articles
Browse latest Browse all 166

Trending Articles