LoginSignup
10
6

More than 5 years have passed since last update.

GASでオンライン人狼的な何かを作る #2

Posted at

《 前回
 何パートかに分けてGoogle Apps Scriptでオンライン人狼ウェブアプリを作ります。

関数「doGet」

 function ○○( ) の○○にあたる関数名、ここにdoGetを指定すると、スクリプトの公開URL(後述)を開いたときに自動で実行される関数を作ることができます。Webアプリを作る際は必須の関数です。

HTMLを作る

 GASではHTMLを作ることができます。メニューバーの ファイル>新規作成>HTMLファイル で作成。ファイル名に拡張子.htmlをつける必要はありません。付けると「index.html.html」みたいなファイル名になってしまいます。
makeNewFile

 今回はindex.htmlにしておきます。
 HTML編集画面が表示されたら、以下のコードを入力してみてください。なんの変哲もない、ただのHello GAS!が表示されるHTMLです。あ、入力したら、保存ボタン押してくださいね。

index.html
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <span>Hello GAS!</span>
  </body>
</html>

<span></span>タグはインライン要素を作るタグです......って、これは大丈夫ですよね?HTMLの書き方はあんまり解説しませんので、ググってください。

HTMLを表示する

doGetで表示

 さて、HTMLを表示するには、コード.gsのdoGet関数を利用します。HtmlServiceクラスのメソッド「createHtmlOutputFromFile」を用いて、コード.gsに以下のように入力してください。前回のmyFunctionは消しても消さなくてもどっちでもいいです。

コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile('index')
}

公開

 入力したら公開します。メニューバーの 公開>ウェブアプリケーションとして導入 をクリックします。
publish

 変更内容の説明は書いても書かなくても問題ないです。
 「次のユーザーとしてアプリケーションを実行」で「自分」を選択すると、公開したWebアプリを誰が実行しても、オーナーのアカウントが実行したことになります。「ウェブアプリケーションにアクセスしているユーザー」にすると、アクセスしているユーザーとして実行されます。
「アプリケーションにアクセスできるユーザー」で、共有範囲を選択できます。今回は練習用のスクリプトなので、「自分だけ」にしています。
property 
これで公開が完了しました。

published
 「最新のコード」をクリックして確認してみましょう。以下のように表示されていれば、見事HTMLが表示できました。
hello_gas

タイトルは...?

 ブラウザのタブをよくみてください。タイトル、設定してませんよね。設定しましょう。<head></head>内に<title></title>を追加しようとしたそこのあなた。私もそうなりました。というか普通タイトル付けるとなると<title></title>でしょ!?GASは違うんですよねー...
 GASのHTMLにタイトルをつけるには、HtmlServiceクラスのメソッド「setTitle」を使います。以下のように入力してください。

コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile('index').setTitle('GAS練習');
}

 これでタイトルが付きます。先ほどのURLにもう一度アクセスしてみてください。
hello_gas_withTitle

 タイトル付きましたね。

<meta>も実は...

 ちなみに<meta>も利用が制限されています。サポートされている<meta>タグは以下の二つです。
<meta name="google-site-verification" content="..."/>
<meta name="viewport" content="..."/>
これらのタグの詳細は以下で解説しますので、<meta>の挿入方法を説明しておきます。
 viewportの場合、コード.gsに以下のように入力します。

コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile('index').setTitle('GAS練習').addMetaTag('viewport', 'width=device-width, initial-scale=1, user-scalable=no');
}

.setTitleの後ろのそのまま.addMetaTagをメソッドチェーンで記述できます。

<meta name="google-site-verification" content="..."/>

「サイトの最上位のページにこのタグを挿入すると、Search Console で所有権を確認できます。name 属性と content 属性は、大文字と小文字の区別など、指定されたとおりに記述する必要があります。ただし、XHTML から HTML にタグを変更したり、タグのフォーマットをページのフォーマットと同じにしたりしてもかまいません。詳細情報
Googleサポートより

<meta name="viewport" content="..."/>

 これは一般的なviewportです。一般的に以下のように書きます。
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">

というわけで、

 今回はここまでです。まだTemplateHTMLについて書いてないんですが、それはオンライン人狼もどきを作りながら説明していきます。
 次回からオンライン人狼的さむしんぐ、作っていきます。ではまた〜

(最後まで投稿できるかな...高3だし...)

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6