ラベル Googleサイト の投稿を表示しています。 すべての投稿を表示
ラベル Googleサイト の投稿を表示しています。 すべての投稿を表示

2014-09-25

GoogleSiteにGistコードを埋め込む方法(正解編)

GoogleサイトにはGistのコード埋め込みスクリプトを直接埋め込むことができない、、、という問題があり、以前、
という試みをしましたが、そんな面倒なことをしなくてもいいということがわかりました。

Googleガジェット経由で直接呼ぶ
もともとは、
にあるように、fork元のコードを利用しようとしたのですが、フォントサイズとかの変更がうまく行かず、独自に作るしかない、、、と勘違いしてしまったわけです。

しかしながら、フォント設定を可能にするスクリプトがGistに公開されており、
のような記述により、フォントサイズ等を設定できるGoogleガジェットを利用可能となりました(元ソースは fork元を参照)。

使い方
  1. 挿入→ その他のガジェット → URLを指定してガジェットを追加
  2. https://gist.githubusercontent.com/ochilab/11a718344aca679711f0/raw/ を指定
  3. Gist IDを指定
という手順により、ページに合ったフォントサイズでGistのコードスニペットを挿入できます。

これで、どんどんGistにコードを流して、サイトにガンガン埋め込んでいくという夢のコンテンツ作成体制が実現できます。


2014-04-20

GoogleサイトでのApp スクリプト呼び込み時にUserPrefを設定する方法

久しぶりのGAS(Google App Script)ネタです。

Google サイトでもGASは利用可能
ほとんどの人が知っていると思いますが、GASはGoogleサイトに埋め込みが可能です。Googleサイトは、JavaScriptの利用に関していろいろ制約がありますが、GASを利用することでちょっとした動的なページ生成が自然にできるという利点があります。その埋め込み方ですが、Googleサイトではデフォルトで埋め込みができるようにウィザードが用意されています。


Google Gadget用のXMLスクリプトを書かなくてもいいというのは便利ですね。

UserPrefの設定ができない
しかし、その便利さが欠点を生み出しています。それは、UserPrefを独自設定できないということ。XMLを書かなくてもいいということはカスタマイズできないというわけです。UserPrefを利用できれば、Gadgetの埋め込み時に初期パラメーターを任意に設定できるようになるので、URLパラメーターとしてGASに渡すことで、汎用的な使い方ができるという利点があります。そこで標準のウィザードに頼らず、GoogleGadgetのXML記述を自分で用意してiFrameの形式で呼び出せば、、と試みたんですが、どうもうまくいなかい。私のミスの可能性もありますが、少なくともiframeではなぜかGASを呼び出せないという結論になりました。

解決策:自作GadgetからスクリプトGadgetを呼ぶ
とりあえず試行して成功したのは、自作のGadgetXMLファイル内でiframeを介してスクリプトGadgetを呼ぶという荒業です。手順を以下に示します。
1.標準のApp スクリプトGadgetを利用して、対象のスクリプトを呼びページに埋め込む
 まずは、対象のAppスクリプトを標準のウィザードで呼び出しページに埋め込みましょう。
2.ページをHTMLモードで表示し、App スクリプトGadgetのURLを見つける
 Gadgetの中でdata-origsrcというのがGadgetURLの設定パラメーターのようですので、そのURLをメモします。


3. 自作のGadgetXMLファイル内でuserprefとiframeタグを記述する。
 iframeタグで先ほどメモしたApp スクリプトGadgetのURLを指定します。UserprefのパラメーターをURLパラメーターに渡すことはもちろん可能です。


これで、GAS+Googleサイトを利用したちょっとした面白いアプリができそうです。