いてづきブログ

情シスでやってみたことの備忘録

Execution APIで躓いた点のメモ

Google Apps Scriptを外から叩けるExecution APIが公開されました。

 

Apps Script Execution API を使用して Google Apps Script をより活用する

http://googleappsupdates-ja.blogspot.jp/2015/09/apps-script-execution-api-google-apps.html

 

おおまかな使い方は既にQiitaに投稿されています。

qiita.com

 

JavaScriptの場合の使い方は下記ページにありますが、自分でも試してて躓いた点のメモ。 ※あくまで自分がハマったところなので、それ以外は上記のQiitaのページや下記のQuickStartにかなり丁寧に解説されているので基本的にはそちらを読んでください。  

JavaScript Quickstart  |  Apps Script  |  Google Developers

https://developers.google.com/apps-script/guides/rest/quickstart/js


承認済みJavascript 生成元の設定

QuickStart内の記述されていますが、開発用のものならば例えば「http://localhost:8000」のように記述すればいいです。 承認済みのリダイレクト URIは空(blank)で大丈夫です。

ライブラリを読み込む

QuickStartではサンプルコードだけ載せてあっさり終わってますが gapi.auth.authorize を使用するためには、ページのhtmlに下記のライブラリを読みこませる必要があります。 ASP.NETの場合はcshtmlに記述すれば良いです。

<script type="text/javascript" src="https://apis.google.com/js/client.js">

パラメータの渡し方

parametersを設定し、配列で記述します。

var request = {
    'function': 'getSheetNames',
    'parameters': ['sheetId', 'hogehoge'],
};

多分これくらいじゃないでしょうか?

正直なところ、C#等のサンプルもありますが、個人的にはC#の場合はそもそも.NET用のAPIライブラリがあるのでそれを使えばいい気がしていました。 しかしSites APIなど、.NET用のライブラリがなかったりすることもあるのでその際の代替手段となりえます。

また、javascriptからはこれまでもdoPostやdoGetを使って同じようなことが出来ましたが、このやり方だと認証がかなりやりやすい(ScriptExplorerで認証してなくてもjavascriptの実行時に認証を聞いてくれる)ことや、同一プロジェクト内に複数functionを定義して管理しやすくするなどの多くの利点があります。