このブログを検索

2012年9月12日水曜日

「スタンドアローンのウェブアプリ」の意味

■エラーがきっかけで発覚

   昨日の記事で、

      「ダイアログボックスを表示し、ボタン押下で現在のタブでリンクを表示する」

   というスクリプトを紹介し、その記事の最後に「実際に試してみたい方へ」作成したUIの
   URLを載せました。

   
   そのURLへ早速アクセスしてくださった方がいらっしゃったのですが、
   どうも以下のような「アクセス権限が必要です」という画面が表示されてしまったようです。





   以前も「共有設定」をし忘れていたために、同様のミスをしたことがあったのですが、
   今回は「共有設定」もきちんと「全員(匿名を含む)」にしていました。

   なんでだ~~~~~(><)という悩みモードに突入すること1時間、
   原因が分かったので、今日はその原因と解決策について書こうと思います。



■スクリプトを書く場所が原因

   もう一か月程前の記事になりますが、「Google Apps Scriptはどこに書く?」という
   記事の中で、スクリプトを書く方法が3種類あると紹介しました。

   (以下、抜粋)
   --------------------------------------------------------------------------

    (1)Googleスプレッドシートの中
        :Googleドライブ→Googleスプレッドシートを作成→ツール→スクリプトエディタ

    (2)GoogleドライブからScript作成
        :Googleドライブ→作成→もっと見る→スクリプト 

    (3)Googleサイトの中
        :Googleサイト→その他→ページを管理→Appsスクリプト

    --------------------------------------------------------------------------
           
   上記の中で、私は基本的に[(3)Googleサイトの中]にスクリプトを書いていました。

   これは、Googleサイトの中で「Apps スクリプトガジェット」として挿入する分には便利ですが、
   Googleサイト外の独立したページでは利用できないのではないかと思います。

   今回の例でも、[(3)Googleサイトの中]に書いたスクリプトは、独立したページでは
   「共有リクエスト」がうんぬんかんぬんで、利用できませんでしたが、
   Googleサイト内に挿入したら、普通に使えました。



■いわゆる”スタンドアローン”??

   そこで、全く同じスクリプト・GUIを、[(2)GoogleドライブからScript作成]で作成して実験。

   [(3)Googleサイトの中]でやっていたのと同様に、
   「バージョン管理」→「公開」→「ウェブアプリケーションとして公開」し、この中で
   アクセスできるユーザーを「全員(匿名ユーザーを含む)」を選択し、「OK」します。


   そして、さらに、右上にある「共有」というボタンをクリックし、共有設定画面を開きます。




   ここで、「アクセスできるユーザー」が「限定公開」になっているところを「変更...」ボタンを
   押して、「ウェブ上で一般公開」にします。









これで、誰でも使えるようになったはずです。

   
   今まで、「スタンドアローンって何(?´・ω・`)?」という感じだったnon-IT女子(=私)ですが、
   これがいわゆる”スタンドアローン”というやつかしら??
   と、ちょっと分かったような気になってきました~~~(●´∀`)ノ♪


■ということで、お試しください

   昨日の記事のURLも修正しましたが、改めてもし実際のユーザーインタフェースを
   試してみたいという方がいらっしゃいましたら、下記のURLにアクセスしてみてください。

   https://script.google.com/a/macros/mypleis.com/s/AKfycbz9H0HjwLD79L3kuB-HoQkG0pzhtXHrth60tZ-W4KNthK8O5NTA/exec


   (Googleサイト上にもUIRLを載せています!)
https://sites.google.com/a/mypleis.com/gas_mypleis/guibirudatesuto/-gas-daiarogubokkusu-rinku-tong-chuang-biao-shi


■予告編

   明日は、Googleフォームっぽいものを自作してみます~。