【MACRO】Google Apps Script 質問スレ【DRIVE】
Google Apps Script でのプログラミング等に関する質問スレです Excel や Access の VBA に不満のあるあなた web アプリだけでなくクライアントアプリからも利用したいあなた ローカルなデータベースやファイルだとバックアップに不安のあるあなた ム板に無かったので立ててみます Google Apps Script ttps://developers.google.com/apps-script/ Google Drive API ttps://developers.google.com/drive/ Getting Started with the Google Data Python Library ttps://developers.google.com/gdata/articles/python_client_lib ■関連スレ Google Maps API 質問箱 http://peace.2ch.net/test/read.cgi/tech/1131627583/ Microsoft SkyDrive API http://peace.2ch.net/test/read.cgi/tech/1385604796/ 【GoogleAppsScript】猿92【研究せよ!!!】 http://nozomi.2ch.net/test/read.cgi/php/1398600864/ GoogleAPIってどうよ? http://nozomi.2ch.net/test/read.cgi/php/1018614427/ Google App Engine for Python 6アプ目 http://nozomi.2ch.net/test/read.cgi/php/1358570953/ Google App Engine for java http://peace.2ch.net/test/read.cgi/tech/1317639323/ GoogleWebToolkit[GWT]について語ろう http://nozomi.2ch.net/test/read.cgi/php/1147975874/ フォルダーの階層どれくらいまで深く出来るんだろ ファイル名の長さとかどうなんだろ 拡張子付のフォルダーが作れないって・・・ あと同じフォルダに同じ名前でファイル作れてしまうのもな ポリシーと言ってしまえばそれまでだが Trashに移動したフォルダに対して それを親にするファイルをアップロードしても エラーにならないのにファイルは作られてないな 問い合わせのトラフィック減らすために 一度取得したフォルダのidをキャッシュしてみたが フォルダがTrashに入ってるかどうかを 結局毎回チェックしないといけないので idをキャッシュにする意味が無いという 親フォルダをTrashからrootに出したら そこで初めて隠れてた子ファイルが表示されたな 見えないけど存在するファイルが出来る訳か Trashにあるフォルダの子ファイルを 新規作成ではなくて既存のと 同じidで上書きした場合だと Trashの中でもそのファイルの 日時は更新されるな すみません質問です cronを叩かせるだけの目的で書いたのですが、 予期しないエラーが頻発するようで確実な動作が見込めてません 解決方法はありますでしょうか function myFunction(){ //時間主導型の登録トリガ どう設定してもエラーは出る UrlFetchApp.fetch("http://hoge.jp/fuga.php" ;); } 現状エラー回避のためにtry{}catch(e){;}を掛けてますが、根本的解決にはなりませんよね エラーレポートメールのエラーメッセージの内容でいいですかね? 予期しないエラー: http://URL (行 2、ファイル「cron」) エラー行はUrlFetchApp.fetchしている行です 正常にアクセスする時もあるので、何が原因なんだろうなぁと 「[タイムスタンプ] Exception: 予期しないエラー: [URL]」ですね ログの出力とgetLogで書式は少し違いますが、内容はこれ以外には何も無いんです ご指導ありがとうございます解決しました URLを別のドメインに変えると上手く行ったので、GASじゃなくサーバー側の問題のようです 初心者丸出しの質問、申し訳ないです;; 質問です https://developers.google.com/drive/web/quickstart/quickstart-python?hl=ja ここのpythonのサンプルでファイルを作るのは問題ないのですが spreadsheetを作ったあとどうやってそれを編集すれば良いのか判りません 一方 https://code.google.com/p/gdata-python-client/ ここからGoogle Spreadsheets Data APIを使うと編集が出来ました ただgdataは古いAPIなので使わない方が良いと書いてあるサイトもあるので 出来ればgdata-python-clientではなくgoogle-api-python-clientを使って spreadsheetを読み書きしたいです 何かヒントをください スレ違いだとは思いますが、どこで質問したら良いかわかりませんので少しお付き合いください。 AppsSpredsheetにセルの値の変更や追加などをExcelやAccessのVBAから実行してローカルのファイルの内容を自動的に反映したいと思っています。 どこかいいスレや資料があれば教えてほしいのですが。。。。 excel の同期ならフォルダごと同期するだけで良い気がする VBA で実行するなら javascript の API 叩けばなんとかなりそうだけど 面倒なだけでメリット無い気がする >>55 excelの値全部ではなくサマリー的なものをスプレットシートに書き出して出先でも簡単に確認できるようにしたいなって思ってたんです。 GmailAPIの使用例は見つけたんですけどもスプレッドシートはあまり需要がないのか見つけられず。。。 excelからならコピペでも出来てしまうのも確かなんですが。。。自動化もしてみたいとおもったわけなんです。 他の言語でのサンプルを見ながらも少し色々探してみます 企業でGoogle Appsに接してる人間ならChromebookで出来る事が解る 個人アカを使ってGoogleサービスを日々使いこなしてる筈だとね ただ、日本はMSと手を組んだメーカー連合がつよすぎてね 大手ITベンダーは全部Googleとは疎遠 掲示板はMSのステマなのか真性の情弱なのか書正論ばかり こんな醜い国じゃGoogleも後回しにしたくなるかなって SoftBankグループみたいな三流IT企業から買いたく無いんだよ せめて他のリセラーにも売らせてくれ てか直販で売りやがれ! Sample for reading Google Drive spreadsheet cells with OAuth2 https://github.com/hnakamur/gae-oauth2client-spreadsheet >>60 ありがとう できました だけど何で python の gdata の spreadsheets.client は 途中で開発投げだした見たな中途半端なのが何年も放置されてんだろ 質問させてください スプレッドを匿名ユーザと共有したいのですが、その匿名ユーザにスクリプトscriptを実行させることはできないのでしょうか? スプレッドの共有はできてるのですが、匿名ユーザでスクリプトが動かなく、スクリプトエディタも開けません スクリプトを共有したいときはスプレッドシート内部にスクリプトを作るんじゃなくて スプレッドシートとは独立したスクリプトのみをドライブに作れば良かったと思う あとスクリプトエディタで開くとかじゃなくて スクリプト実行させるだけならスプレッドシート内のスクリプトでも問題ない 公開するときのアクセス権と公開対象を適切に選ぶ必要はあるけどね 具体的にはスクリプトを公開するときの実行者を自分のアカウントにして公開対象を匿名許可にする スプレッドシート自体は共有しなくてもこれでスクリプトからアクセスできる スプレッドシートの共有は「リンクを知っている全員が編集できます。」になっています。 スプレッドシート内のスクリプトは「ウェブアプリケーションとして導入」で「自分として実行」、アクセスできるユーザは「全員(匿名含む)」です。 上記で試すと、自分で開いてる時はスクリプトは実行できますが、匿名ユーザーとして開いてる場合は実行できません。 実行するユーザを「ウェブアプリケーションにアクセスしているユーザ」に、アクセス出来るユーザを「全員」にしてもやはり同じです。 どうしてだろう…。 >>68 いまLogger.logを入れてみました。 自分で実行した場合はログ出ましたが、匿名ユーザーの場合は何も表示されないですね…。 先にアカウントごとに実行できるAPI選んどくのは何だっけ? 定期的にGMAILの新着メールをチェックして何らかの処理をするスタンドアロンスクリプトを複数動かす って無駄ですか?ですよね?利用制限的によくないですよね? 新着メールをチェックする部分だけを別スクリプトとして切り出して共通化 とかできますか?どうすればいいですか >73 なぜか使えない… 過去に作ったスクリプトを開こうとしたら、 画面上のメニューバーはグレーアウトしてるわ、 ソースも見れないわ、という状態…。 メンテ中なのかな? twitter上で、ドライブの言語設定を英語にすると入れましたという情報。メンテでもなんでもなくて、Googleがまたやらかしたようだ。 しかも日本語でだけ起きてるようだ。 みんな使えてないんだ。いくらググっても情報出てこなかったから、自分だけかと思った。 ボタンクリック時に、getDownloadUrl()を利用して、 ドライブのファイルをローカルPCにダウンロードさせたいのですが、 何か良い方法はないでしょうか。 googleDriveApiで分からないことがあるんですけど、ここで質問してもいいですか? 該当スレが見当たらなくて‥. では質問されてください。 androidアプリを作っておりまして、googleDriveApiをアプリで使ってます。 アプリからフォルダの作成、ファイルのアップロード、ファイルのダウンロードを試してますが、1つ分からないことがあります。 アプリからドライブにアップロードしたファイルは、アプリからもダウンロードできるようですが、 アプリ以外(ブラウザやDriveアプリ)でアップロードしたファイルはアプリからは読み取れないようです。 これは何故でしょうか? 先月まで使えてた DriveApp の GetFolderById が今月あたりから 「アクセスが拒否されました」 になったんですが、こういった情報はどこを探せばわかるんでしょうか? >>84 それつまり、そのフォルダへのアクセス権を君が失ったってことじゃないかな。 >>86 もちろんアクセス権はありますよ。 hasNext とか、もともとアクセス拒否だったので使えなかった。 その範囲が広がった感じ。 >>89 こちらはアクセス拒否にはならないようです。 ただ、大分使える関数が違うみたい。 この線で直してみます。 Thanks! spreadsheetからcontactのフリガナって弄れないんですかね? 使ってない spreadsheet で間に合うので >>94 なるほど。。。どのくらいのデータ扱ってるんですか? 参考までに教えてください。 GoogleDRIVEでゴミ箱を削除してくださいとポップアップが出るようになったのですが スマホからもpcからもゴミ箱が表示されません。 ゴミ箱はどこに表示されるのでしょうか。 よろしくお願いします。 >>100 そうですか。。。。 MS-Accessみたいなことできるお手軽DB実現したかったのにちょっと残念です。DBやるならGAEとかしかないのかな。。。 >>101 DBやるなら、AWSのRDSやらGoogle Cloud SQL、レンタルサーバのDBサーバ など有償のものを使うしか手立てはないですよ。ローカルのサーバをDDNSで 外からアクセス出来るようにして、GAからアクセスさせるってのも手ではありま すがね。 spreadsheetで間に合わないなら GAEのDBを使うのが一番安上がり 2014-10-06 Angularが嫌い http://mizchi.hatenablog.com/entry/2014/10/06/162103 AngularJSは覚えることが多過ぎてあきらめた。mustucheテンプレートはイケテル。 => vue.jsおし。 MEANはnpmエコシステム体験ツアーに便利。(そのまま実用に突き進むのはゴールデンハンマーの罠) ↓ Vue.jsか日本語書籍をはじめノウハウの多いbackbone.jsがおすすめ。 Angular.jsは不自然なところが多い。JQueryのように自然に使えない。数年後にはEJB2のように滅んでいる感じ。 ↓ Angularそっちのけで、Vue.jsについて所感 2014-02-14 http://havelog.ayumusato.com/develop/javascript/e587-vuejs_impressions.html 2014-06-26 5分でわかるVue.jsと、jQueryで頑張ってはいけない理由 http://www.infiniteloop.co.jp/blog/2014/06/5min_vuejs/ Vue.js概要? 2014/04/25 - 2014/11/09 http://qiita.com/asip2k25/items/bd4bdccd5201d542953c Vue.js v0.11の変更点(予定)まとめ Oct 7th, 2014 http://blog.koba04.com/post/2014/10/07/vue-js-v011-changes/ Vue.js http://vuejs.org/ どこでも活躍できるテンプレートエンジン「Mustache」 http://blog.mach3.jp/2010/10/05/mustache-template-engine.html 2012-12-09 テンプレートエンジンmustacheを使ってみる http://d.hatena.ne.jp/Kazuhira/20121209/1355042467 mustache http://mustache.github.io/ >>104 spreadsheetにsql発行することってできない? ライブラリ作って公開したけど product ID が判り難いというか import (resource) 管理が面倒臭い感じがする Application Launcher for Drive (by Google) この拡張機能が勝手にインストールされたぞ。 Web上のGoogle Driveからファイルをローカルアプリケーションで直接開けるらしいが、 何も機能しないし、そもそも右クリックメニューの中にローカルアプリは何も表示されない。 全く意味ねー 書いたプログラムを Google Drive で同期したフォルダから ローカルPCで開いてもプログラムがバックアップ出来てる訳じゃないんだね Google Apps Script で出力した HTML の中で AngularJS 使おうとしたら 1.3 全く動作しない 1.2 一部動くがほとんどはまともに動作しない 使えねー >>117 俺はjQueryを使ってるが、使えるコードと使えないコードがあるので、それを うまく回避しながらやるのが腕の見せどころですよ。 CryptoJS も一部動作しない AES 使えねー プンプン >>118 そういうのが楽しいと思っていた時期が私にもありました Vue.js 試してみたけどだめ TypeError: Cannot define property:$set, object is not extensible. TypeError: undefined is not a function 使えねー (GASが) >>117 AppsScriptはcaja経由でHTML出力されるので elementのidが全部置き換えられて死ぬみたい >>119 CryptoJSは使えてるよ ちなみに、俺は結構やりこんでるが、入力補完やワークフローみたいな ものも作ってるよ。 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.css" /> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> <p><input type="text" id="hogehoge" /><br /> <script type="text/javascript">// <![CDATA[ $(function() { var hogehogeTags = [ "あいうえお", "かきくけこ", "さしすせそ", "たちつてと", ・・・・・ 中略 ・・・・・ "漢字1", "漢字2", "漢字3" ]; $( "#hogehoge" ).autocomplete({ source: hogehogeTags }); }); // ]]></script> これはテキストボックスに入力補完をスプレッドシートから持ってくる奴だが、 こういうのだったら動く。 >>126 function doGet() { return HtmlService.createHtmlOutputFromFile('htmledit') .setSandboxMode(HtmlService.SandboxMode.EMULATED); } とか、 function doGet() { return HtmlService.createHtmlOutputFromFile('htmledit') .setSandboxMode(HtmlService.SandboxMode.NATIVE); } とか 以前はEMULATEDがデフォだったが 最近はNATIVEがデフォに切り替わった というところまでは読んだ このページ見るとNATIVEが書き換えないみたいなんだけど https://developers.google.com/apps-script/guides/html/restrictions Rewritten code In the EMULATED sandbox mode, Caja inspects and substantially rewrites all HTML and JavaScript before the page loads. This results in a substantial slowdown in loading times relative to the newer NATIVE mode. Because code is rewritten, it also becomes difficult to debug. In NATIVE mode, although comments are still stripped from client-side code, the code is only rewritten if it contains variables or named functions at the top level, or if it uses the typeof operator to refer to a variable directly. The examples below show how to avoid code rewrites in NATIVE mode. ✘Don't — code will be rewritten ✓Do — code will not be rewritten in NATIVE mode 図は逆だよね >>128 まぁ、だからといって、どちらも制限があるのには違いないけれどね。 あくまでも、ドノーマルで実行するよりかは制限が緩いので、使えるかも って感じ。 なるべくシンプルに構築するのがHTML Servicesの基本だね。でなけれ ば、UiApp Servicesを使えって話になってくると思う。 spreadsheet を DB 代わりに使ってみたけど 排他処理もロックも何もしないと データめちゃくちゃになるなω ロックかからんし ScriptProperties が deprecated になってるし なんなのこれ 無理して使うもんじゃないな lock中の処理で SpreadsheetApp.flush(); 入れたら解決した なんか応答も速くなった希ガス read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる