1 名前:デフォルトの名無しさん mailto:sage [2014/06/29(日) 11:07:03.38 ID:5HmND7Qc.net] 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 質問箱 peace.2ch.net/test/read.cgi/tech/1131627583/ Microsoft SkyDrive API peace.2ch.net/test/read.cgi/tech/1385604796/ 【GoogleAppsScript】猿92【研究せよ!!!】 nozomi.2ch.net/test/read.cgi/php/1398600864/ GoogleAPIってどうよ? nozomi.2ch.net/test/read.cgi/php/1018614427/ Google App Engine for Python 6アプ目 nozomi.2ch.net/test/read.cgi/php/1358570953/ Google App Engine for java peace.2ch.net/test/read.cgi/tech/1317639323/ GoogleWebToolkit[GWT]について語ろう nozomi.2ch.net/test/read.cgi/php/1147975874/
144 名前:デフォルトの名無しさん [2014/12/05(金) 08:40:33.92 ID:uibbdYqE.net] >>134 遅くなる理由 https://developers.google.com/apps-script/guide_libraries Warning: A script that uses a library will not run as quickly as it would if all the code were contained within a single script project. Although libraries can make development and maintenance more convenient, you should avoid them in projects where speed is critical. Because of this issue, libraries should not be used in add-ons. https://developers.google.com/apps-script/best_practices#avoidLibraries https://developers.google.com/apps-script/add-ons/
145 名前:デフォルトの名無しさん mailto:sage [2014/12/05(金) 09:24:04.62 ID:NyP973bT.net] 要するに結局使えねーってことじゃね
146 名前:デフォルトの名無しさん mailto:sage [2014/12/05(金) 12:21:33.66 ID:S74tDLHo.net] パフォーマンスの良いGASの書き方 www.slideshare.net/soundTricker/gas-best-practice (このおっさんによれば70倍くらい簡単に速度変わるそうです)
147 名前:デフォルトの名無しさん mailto:sage [2014/12/05(金) 12:48:37.41 ID:3N+Ki0BW.net] >>145 まぁ、例え効率の良い書き方をしたとしても、それでも全然ローカル でやるのに比べたら、比べるまでもなく遅いけれどね。
148 名前:デフォルトの名無しさん [2014/12/05(金) 17:28:33.29 ID:X46M6Pii.net] プログラムは全くの素人なのですが、フォームに入力された内容をメールで送るスクリプトをネットからコピペしました。最初は上手くおくれたのですが、途中から i.imgur.com/8hI4jzt.jpg のようなエラーが出てメール送れなくなりました。解決策がわかりません。ご存知な方、教えて頂けますか?
149 名前:デフォルトの名無しさん mailto:sage [2014/12/06(土) 12:20:43.07 ID:cu1CMwBP.net] Cacheが最大250文字のキーで各キー毎に100KBで最大6時間保持可能というところまでは読めたのですが KeyValueのペアは最大何個まで作れるのでしょうか? https://developers.google.com/apps-script/reference/cache/
150 名前:デフォルトの名無しさん mailto:sage [2014/12/06(土) 15:41:58.87 ID:7IWME+c9.net] MailAppとGmailAppはどういうときに使い分けますか
151 名前:デフォルトの名無しさん mailto:sage [2014/12/07(日) 18:52:37.92 ID:uc0Y93wp.net] 新しい Google スプレッドシート [ツール] メニュー > [スクリプト マネージャ] スクリプト マネージャが無いんですけど、どこへ行ったの?
152 名前:デフォルトの名無しさん mailto:sage [2014/12/08(月) 10:27:16.23 ID:eZuxZoZp.net] learn more じゃなくて dismiss してひどいめにあった https://support.google.com/docs/answer/6082736?p=old_sheets_migrate&rd=1
153 名前:デフォルトの名無しさん mailto:sage [2014/12/10(水) 12:32:16.98 ID:2OX9Sm8y.net] Internal Server Error Error 500 わろた あかんやろこれ
154 名前:デフォルトの名無しさん mailto:sage [2014/12/10(水) 12:56:29.75 ID:v5e5mm45.net] >>153 何回かリトライするといける
155 名前:デフォルトの名無しさん mailto:sage [2014/12/10(水) 13:50:01.10 ID:evPa2cl4.net] 状況が変わった ログイン出来るようになったけど ルートの画面で Google Drive was unable to load your items. Please refresh to try again. (Dismiss) って出て何も操作出来ない どうみても輻輳です本当にありがとうございました
156 名前:デフォルトの名無しさん [2014/12/12(金) 20:12:42.74 ID:ZKEOL7uD.net] google plus apiもここで良いのかな? こういう大量に画像があるページから画像をぶっこ抜こうと思ってjson取得したんだけどな、15枚しか画像リンクを教えてくれないんだわ https://plus.google.com/109057690948151627836/posts/6Q6cv5KNYef#109057690948151627836/posts/6Q6cv5KNYef これがjsonの抜粋 xxxxxxxxxxxx.net/_/86/20141212201047-0.txt やり方分かる人いる?
157 名前:デフォルトの名無しさん mailto:sage [2014/12/13(土) 06:19:49.76 ID:KcZztYF+.net] nextToken送ってるかい
158 名前:デフォルトの名無しさん [2014/12/13(土) 10:37:05.12 ID:LHF4FOqU.net] >>157 アクティビティーのnextTokenは送ってるが、画像にもnextToken送れるんか・・?
159 名前:デフォルトの名無しさん [2014/12/16(火) 13:32:07.41 ID:PuXxa6T9.net] 尾骶骨
160 名前:155 mailto:sage [2014/12/20(土) 15:58:34.92 ID:2lHjoIS9.net] 自己解決した。スレ汚しスマソ
161 名前:デフォルトの名無しさん [2014/12/21(日) 17:54:05.71 ID:gQMH/TzB.net] トリガーをいくつか設定してみたけど 違うプロジェクトに同じ名前の関数があるとき トリガーの一覧には関数名しか出て来ないので どのプロジェクトの関数が呼ばれるのかあとで判らなくなるな
162 名前:デフォルトの名無しさん mailto:sage [2014/12/22(月) 04:11:59.65 ID:bPTJ7mQh.net] myFunction とか doGet とか言う名前のトリガーがいっぱいなんですね判ります
163 名前:デフォルトの名無しさん mailto:sage [2014/12/22(月) 07:19:01.01 ID:lHFqZpWk.net] >>162 周りから頭悪いって言われてない?
164 名前:デフォルトの名無しさん mailto:sage [2014/12/22(月) 08:16:40.37 ID:1JxRKZUV.net] >>162 頭の悪いレスですね
165 名前:デフォルトの名無しさん mailto:sage [2014/12/22(月) 10:30:02.86 ID:Kj8Ds363.net] うちはtestDoGet()って名前のトリガーが多いな
166 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 23:11:18.84 ID:Ubhx8o8Fm] 特殊文字って入力できる?¥だとそのまま表示されて\でやるとどれも空白になるんだけど
167 名前:デフォルトの名無しさん [2015/01/07(水) 08:21:41.41 ID:7s8hjn62.net] 古いけどメモ www.softantenna.com/wp/software/google-ime-dev/
168 名前:デフォルトの名無しさん [2015/01/07(水) 08:55:32.09 ID:7s8hjn62.net] memo www.softantenna.com/wp/hard/linux-in-chrome-os/
169 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 10:57:08.64 ID:aspvvccd.net] >>167 >>168 消え失せろカス。
170 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 12:21:43.55 ID:HwRBQ0K9.net] いまどき2ちゃんにアフィ貼っても件数稼げないのにようやるわ
171 名前:デフォルトの名無しさん [2015/01/12(月) 13:52:24.61 ID:MUt+Twlt.net] Google Drive のゴミ箱に溜まってたファイルを 永久に削除 を選んで消したのに残り容量が増えないぬ 先週くらいまではゴミ箱空にしたら容量増えたのに
172 名前:デフォルトの名無しさん mailto:sage [2015/01/14(水) 10:13:25.29 ID:pWmctPUO.net] >>171 恐らくだが どのフォルダにも属していない、検索の時だけ出てくるファイルがあるよ。消したつもりになってるだけでね。
173 名前:デフォルトの名無しさん [2015/01/14(水) 13:03:30.08 ID:EnBoJmyV.net] trash からも delete forever で確実に削除してたのに さっきログインしたら trash にあった 改めて消したら容量増えた ありがとう Google Drive ってたまにバグるみたいだぬ
174 名前:デフォルトの名無しさん [2015/01/20(火) 07:56:06.92 ID:F6HHv4j5.net] 勝手にアップデートされて以来 GoogleDriveは執事として無能な 時間泥棒に成り下がってしまった
175 名前:デフォルトの名無しさん [2015/03/06(金) 13:27:50.63 ID:BXX0fucD.net] AngularJS 2.0 は TypeScript で開発を進めることに techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/ Angular 2: Built on TypeScript blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx
176 名前:デフォルトの名無しさん mailto:sage [2015/03/14(土) 19:02:02.06 ID:EXR76peq.net] Siteで新規ページ作成で自動生成されるurl文字列をscriptで再現する方法はないでしょうか? たとえば「試験-しけん-シケン」と入力すると自動では「shi-yan-shiken-shiken」というURLになるけど このルールでスクリプトから新規ページ作成を行いたいと思っているのですが
177 名前:デフォルトの名無しさん [2015/03/16(月) 02:46:33.19 ID:1GyT2oWU.net] 同じ名前でもう一つ作ってみ?
178 名前:デフォルトの名無しさん [2015/03/18(水) 22:55:28.68 ID:fCXDEV+f.net] GASで任意のURLを開くことはできますか? スプレッドシート上でも別タブでもどちらでも構いません。
179 名前:デフォルトの名無しさん mailto:sage [2015/03/19(木) 21:40:48.17 ID:htgmHUmd.net] >>178 自動的に開くのは無理 ダイアログ出してクリックさせて開くのはhtmlserviceで実現できる。
180 名前:176 mailto:sage [2015/03/20(金) 15:56:58.40 ID:+pnIcR/c.net] やはりリンク作ったりするのが精一杯なんですね。 わかりました。
181 名前:176 mailto:sage [2015/03/20(金) 17:37:45.26 ID:+pnIcR/c.net] HtmlService.createHtmlOutputにiframeタグを書いても インラインフレームの中に何も表示されないのは仕様ですか?
182 名前:デフォルトの名無しさん mailto:sage [2015/03/22(日) 13:09:15.36 ID:rj7656VH.net] >>181 GAS上ではiframeタグは使用禁止ですよ。 sandboxmode.iframeは使えますがね
183 名前:176 mailto:sage [2015/03/22(日) 21:40:15.35 ID:Exm92v9O.net] .setSandboxMode(HtmlService.SandboxMode.IFRAME); を付けてみてもダメでした。 もちろんNATIVEもダメでしたし、本当にあきらめるしかなさそうですね。 ちなみに表示させようとしていたページのURLは以下です。 www.google.com/search?btnI=I%27m+Feeling+Lucky&lr=lang_ja&ie=UTF-8&oe=UTF-8&q="+ss.getActiveCell ().getValue()
184 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 11:07:18.75 ID:r/Xr85WG.net] Googleドライブ上にある複数のxlsを読み込んで、指定した文字を検索するhtmlをドライブ上で共有したいのですが この場合どうすればいいのでしょうか?script.google.comとかサッパリでした ある程度の英語とjavascriptは出来るので「ココ嫁」みたいなリファレンス貼ってくれるだけでも助かります
185 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 13:13:42.53 ID:XgHUlE+o.net] >>184 HTML ServiceとDriveApp そして、siteにそのウェブアプリケーションを配置。 これで出来る。
186 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 13:16:41.94 ID:XgHUlE+o.net] >>184 あと、手前味噌で申し訳ないが、色々作ってる eye4brain.sakura .ne.jp/
187 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 15:18:18.76 ID:SuVdMCRs.net] xls読めるの?
188 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 18:55:43.03 ID:r/Xr85WG.net] >>185 >>186 ありがとうございます、スクリプト参考にしてみます
189 名前:デフォルトの名無しさん [2015/03/26(木) 20:07:09.55 ID:xZ2N6kXB.net] >>188 xlsxの全文検索をしてみましたが、出来ました。 fullText containsオプションを使えば可能です。 ただし、たけのこという文字がセルに入ってる場合、「たけのこ」ではヒットしますが、「たけ」ではヒットしません。そういう仕様だそうです。以下に完成品をまとめておきましたので、参考にしてみてください。 goo. gl/coMk0P
190 名前:182 mailto:sage [2015/03/27(金) 00:58:25.79 ID:DYcS+Siy.net] 度々すみませんGoogleドライブに ・1.xls〜100.xls ・Data_list.xls とテキストシートがあって、1-100.xls上で行or選択範囲を指定して、その範囲内のテキストを使ってData_listで検索をし、結果を返すというモノを作りたいのですが @-1〜100まで全部一々スクリプトエディタで作成しなければならないんでしょうか?使いまわしできます? A-図形描写+スクリプト割り当てでイベントハンドラ作成する方法以外にシートから関数呼び出す方法はないんでしょうか? B-図形描写+スクリプト割り当てを1〜100まで毎回作成するの大変なんで使いまわしとかできないんでしょうか? C-関数の引数に行や選択範囲を指定できますか? 本当に初歩的な質問ばかりですみません openByUrl(Data_list)で読み込んでforで全部回す方法でmatchやったら検索は出来ました
191 名前:デフォルトの名無しさん [2015/03/27(金) 08:27:15.70 ID:XOU4xnaE.net] >>190 スクリプトはライブラリ化すれば使い回しが出来ます。 goo. gl/ExZZSb
192 名前:デフォルトの名無しさん mailto:sage [2015/03/29(日) 15:09:18.54 ID:Kc5qzo13.net] >>191 できました 毎度毎度ありがとうございます!
193 名前:デフォルトの名無しさん mailto:sage [2015/04/06(月) 19:06:09.55 ID:Uo28IzYD.net] script.googleにてディレクトリに存在するファイル全て開いて検索するプロジェクトのgsファイルを作ってるんですが コード.gsて一度に開けるファイルの数や容量の制限ありますか?
194 名前:デフォルトの名無しさん mailto:sage [2015/04/07(火) 11:43:06.04 ID:Dj35uwLZ.net] ちょっとした質問なんですけどDriveApp.getRootFolder()みたいに共有アイテムにある「textフォルダ」を取得する方法ってないですか?
195 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 18:24:15.60 ID:Rhj0QTuK.net] こっちで聴いてみては? kanae.2ch.net/test/read.cgi/php/1398600864/
196 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 21:16:39.83 ID:yuSJQZvz.net] 1.gmailの受信メールをチェック ↓ 2.特定タイトルのメールの送信者を抽出しリストアップ ↓ 3.別のリストとマッチングさせメール未送信者を特定 ↓ 4.未送信者に注意メールを送信 GAS初心者なのですが 上記のようなシステムを構築したいと考えています。 1.2.4はGASとスプレッドシートを使えば簡単に実装できそうなのですが 3もGASやappsのみで構築可能でしょうか? スプレッドシートのマッチングについて 少し調べて見ましたが、明確な回答は見つかりませんでした。 よろしくお願いします。
197 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 07:45:32.11 ID:eHLkbahF.net] >>196 可能 普通にリニアサーチでメアドリストと1つづつイコールかどうか 確認するループを作ればいいだけ
198 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 08:06:25.22 ID:VGcTHgGl.net] >>197 ありがとうございます!
199 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 20:15:39.64 ID:L+8WGw0p.net] 最近始めたんだけどこれmydriveにアップしたExcelを読み込む事は出来ないのかな getDataAsString()でも文字化けしたのしか取得できないし スプレッドシートに変換すりゃいいんだろうけどそのまま読み込む方法ないのかね
200 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:22:41.16 ID:nwV8enKl.net] >>199 だったら、文字コードでも指定すればいいんじゃねぇの
201 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:29:47.62 ID:x9iUxaW9.net] >>200 Excelは文字コード以前に形式違うからstringで取得できない
202 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 09:50:23.52 ID:x9iUxaW9.net] エクセルはどこでも話題になるけどDriveApp.searchFiles()で一応文章検索はできるから セルのstring情報はどっかに記録されてる ただ引き出して扱えるかどうか知らん
203 名前:デフォルトの名無しさん [2015/05/21(木) 10:56:25.53 ID:ESp1pCeJ.net] 馬鹿には無理
204 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 13:26:54.06 ID:RCwHiUWn.net] 最高にキモいな
205 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 12:42:30.36 ID:jHm+8nxR.net] >>199 Drive APIを使えば出来るよ。 qiita.com/soundTricker/items/16e75762404f560e4ca2
206 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 21:40:53.24 ID:P22nVuYt.net] >>205 1年前のなんて古くて使いモンにならないってのがよくわかるな oauth 1.0ってアンタ
207 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 08:07:09.69 ID:lvaBWQ33.net] >>206 君はGoogleのドキュメントがろくにメンテされてないこと知ってんの? それと、GASで使うのにOAuthなんて使わないよw JavaScriptで使う場合には必要だがそっちだって、OAuth2.0でのコーディングに 関しては別のページにあるし。GASやGoogle APIを弄っている人間とは到底思え ない発言だなw
208 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 11:08:24.77 ID:fMt5EoRl.net] > それと、GASで使うのにOAuthなんて使わないよw ひょ、標準APIとの違いも解らない奴がココに居るのか ちょっとキミにはこのスレちょっと早い
209 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 14:12:37.86 ID:GScIfku9.net] 煽るだけで具体例のない言葉は何の役にも立たねって ばっちゃが言ってた
210 名前:デフォルトの名無しさん [2015/05/27(水) 15:16:08.57 ID:jmeRjzK/.net] 知らないから自演も満足に出来ないんだろうが 煽り方が下手だと思う
211 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 16:25:43.57 ID:smOTLbR3.net] >>208-209 だから、使ってからほざけよ。 コード書いてみ?GAS内でDrive API使うコードをな。 実際に開発やってる奴に、釈迦に説法って言葉覚えておけよ三流。
212 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 16:29:32.25 ID:smOTLbR3.net] >>206 それとお前。 OAuth1.0だから何?そんなもの自分で2.0の実装でも換装すりゃいいだけの 話だろww 馬鹿なの?それとも2.0のコードでも書けとか言ってるわけ?馬鹿には無理だ から引っ込んでろ
213 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 20:42:22.92 ID:iPQChm+t.net] なんか急にonEditのe.userにメールアドレスが入ってこなくなったんだが 同じ現象の人いる?
214 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 09:53:52.42 ID:/8nOg4qQ.net] これで良くね ttp://stackoverflow.com/questions/26702330/why-does-google-apps-script-return-a-url-rather-than-a-pdf-file-when-i-try-to-cr
215 名前:デフォルトの名無しさん [2015/06/02(火) 10:59:19.63 ID:CxAq+Stxh] 書式設定を変えるようなスクリプトを作っても反映されないんだけど、 スプレッドシートの既知の問題? 例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても 折り返してくれない。 (ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す) function test() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('A:A'); range.setWrap(true); } この問題って、既に書式設定してあるセルにフォームから文字列が入力されても 同じ事が起きるんだけど、地味に困ってる。
216 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 08:54:21.97 ID:0Vy1Z1yY.net] >>213 そんなのしょっちゅうあるぜ? session.userなんてメアド取れなくなったりとかね。 Googleって馬鹿だからバグ採りもせずにデプロイしてやがるのでこういうことがGoogle Apps for Workでも起きていてもんだいになってる。
217 名前:デフォルトの名無しさん [2015/06/08(月) 13:38:40.43 ID:rJB8iCDI.net] Googleって独りよがりだよな
218 名前:デフォルトの名無しさん [2015/06/11(木) 09:07:55.30 ID:DJZgiAWM.net] 書式設定を変えるようなスクリプトを作っても反映されないんだけど、 スプレッドシートの既知の問題? 例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても 折り返してくれない。 (スクリプト実行後、ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す) function test() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('A:A'); range.setWrap(true); } この問題って、フォームから文字列が入力されても既に書式設定してあるセルで 同じ事が起きるんだけど、地味に困ってる。
219 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 10:07:42.64 ID:7lwiQU6T.net] TwitterBotを作成しているのですが OAuth1 for Apps Script https://github.com/googlesamples/apps-script-oauth1/blob/master/samples/Twitter.gs にCONSUMER_KEYとCONSUMER_SECRETを入れてrunを実行しても投稿されません。 ログには Open the following URL and re-run the script 表示されるアドレスにアクセスするとSuccess!と表示されますが投稿されません。 どうしたら投稿できるようにできますか?
220 名前:216 mailto:sage [2015/06/12(金) 10:12:38.54 ID:7lwiQU6T.net] >>219 動きました。すみません。
221 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:05:55.82 ID:qp6MkQCv.net] どういたしまして
222 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 17:28:28.59 ID:7lwiQU6T.net] atomのlinkのhrefを取得したいのですがどうすればいいのでしょうか function kochiRSS() { var sheet = SpreadsheetApp.getActiveSheet(); var row = 1; var feedURL = 'www.pref.kochi.lg.jp/news/index.atom '; var xml = UrlFetchApp.fetch(feedURL).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var atom = XmlService.getNamespace('www.w3.org/2005/Atom '); var entries = root.getChildren('entry', atom); for(i in entries) { var title = entries[i].getChild('title', atom).getText(); var link = entries[i].getChild('link', atom).getValue(); var updated = entries[i].getChild('updated', atom).getText(); sheet.getRange(row,1).setValue(title); sheet.getRange(row,2).setValue(link); sheet.getRange(row,3).setValue(updated); row++; } sheet.sort(3, false); }
223 名前:デフォルトの名無しさん [2015/06/12(金) 18:11:48.05 ID:qp6MkQCv.net] .getAttribute('href').getValue();
224 名前:219 [2015/06/12(金) 20:37:23.23 ID:RT2PlkdQ.net] 220 できましたどうもありがとうございます。
225 名前:デフォルトの名無しさん [2015/06/13(土) 03:16:47.88 ID:NUKk6CPY.net] どういたしまして
226 名前:219 [2015/06/13(土) 08:02:49.41 ID:YFXshuK4.net] たびたびすみません。 RSSを取得するプログラムを作っているのですが RSS2.0は var items = root.getChild('channel').getChildren('item'); ATOMは var entries = root.getChildren('entry', atom); で取得できるのですが RSS1.0だとitemが<item rdf:about="記事のURL">なため var items = root.getChildren('item'); では取得できません。 どういう書き方にすれば取得できるようになるのでしょうか?
227 名前:デフォルトの名無しさん [2015/06/13(土) 08:38:19.04 ID:NUKk6CPY.net] 馬鹿には無理
228 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 20:19:34.38 ID:ZKnt+LAz.net] なんだこいつ
229 名前:デフォルトの名無しさん [2015/06/14(日) 06:25:18.68 ID:Gz1SNEoH.net] 馬鹿には(回答は)無理
230 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 06:41:51.88 ID:l6qAkUnh.net] 一部変な奴もいるけど気にせずに馬鹿はどんどん質問してくださいな
231 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 13:48:50.97 ID:6FCFdlNB.net] もっとやさしくしてください
232 名前:デフォルトの名無しさん [2015/06/15(月) 20:34:44.01 ID:TKCLtNo1.net] 正直、DOM系の話題はなしにしたいものだ DOMの話題ってjsの使い方一辺倒になっちまうから GASそのものの本質を追究する姿勢が培われなくなってしまう
233 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 20:57:28.70 ID:vJyBnBQX.net] GASはハウツー的な日本語ドキュメントが少ないから仕方ないかと 誰かその辺りをまとめてくれると(俺も)助かるんだがなー…(チラッチラッ
234 名前:デフォルトの名無しさん [2015/06/15(月) 23:47:37.55 ID:YPgI+YQd.net] >>226 >RSS1.0だとitemが<item rdf:about="記事のURL"> 属性はattributeと言う。 こんな感じかな。 items[0].getAttribute("about","rdf").getValue(); 上は未実証なので詳しくはreferenceを参照。 https://developers.google.com/apps-script/reference/xml-service/element#getAttribute(String,Namespace)
235 名前:223 [2015/06/17(水) 05:49:31.92 ID:pjaGN1aW.net] ありがとうございます。 rdf:aboutのようなのは名前空間というみたいで XmlService.getNamespaceを指定すると使えるようです。 詳しくはこちらに載っていました。 https://msdn.microsoft.com/ja-jp/library/aa468565.aspx
236 名前:デフォルトの名無しさん [2015/06/17(水) 14:14:39.78 ID:T4rbUCsj.net] いやここはGASのスレだしw XMLの基本を鼻高々に解説されても
237 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 16:12:56.82 ID:7KhQ6AFD.net] >>236 わかればよろしい
238 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 15:54:55.56 ID:jfSOFpG/.net] google apps script のウェブアプリケーションの公開するとき 指定したグーグルアカウントだけに利用させるって出来ないんですかい? 共有でそういうのあったんですけど、共有はコード見れるとかそういうのだったんで
239 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 17:35:30.60 ID:0T0Q+C6j.net] スレ違いだけどできないはずはないと思うよ appsにアカウント登録できるはず
240 名前:デフォルトの名無しさん [2015/07/01(水) 07:45:04.29 ID:WrSpGcQO.net] >>238 1) googleアカウントでログインしてるユーザーだけに実行させることが出来る 2) アプリケーション側でどのアカウントで実行されているか把握することが出来る 1) と 2) を組み合わせれば可能
241 名前:235 mailto:sage [2015/07/01(水) 15:27:56.64 ID:s1huTgGg.net] 出来たよありがとう "無ければ作れ"がGASでも通用したとか最高だ
242 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 15:58:11.31 ID:WrSpGcQO.net] おめおめ
243 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 14:34:59.39 ID:PdgAmMn6.net] GASに初トライしていて問題にブチあたりました。 解決方法があれば教えてください。 ■やりたいこと スプレッドシート内で 外部ページ情報を取得しリアルタイム・もしくはインターバル更新表示しい。 基本は自動更新 ■更新条件 スプレッドシートを開いた スプレッドシートのセルにユーザーから入力があった。 の両方です。 ■ためしたこと。 1.=ImportXMLを使って取り込み 単純な目的は果たせるがセルに埋め込むと取得データを加工するにしても限度がある。 また、同じURLを指定したセルが複数ある場合、同じデータなのにアクセスさせるのが無駄 2.GASでImportXML相当のことをしてみる セルから呼び出せる関数でUrlFetchApp.fetchを使ってみる。 当初の目的は果たせるようになったが、セルの数が多く、 またスクリプト実行テストを繰り返しているとあっというまに1日の呼び出し回数制限に達してしまう(無料アカなので2万回) 3.呼び出し制限に達しないようにするための工夫 URLから取得した情報をプールしておき、前回取得からのインターバル時間を経過したら再取得してキャッシュ更新。 または、キャッシュに存在しないデータを要求された場合もキャッシュ更新。 キャッシュ場所は、自分のスプレッドシート内にcacheシートを生成してそこに書き込んでおく。 4.3までのロジック実装は完了し、スクリプトエディタの関数実行テストまでは正常完了 続きます。
244 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 14:44:48.33 ID:PdgAmMn6.net] 4からが問題でして、エディタ内の関数単体テストでは、データ取得・キャッシュシート生成まで問題なく動作しました。 しかし、これの関数をセルから呼び出そうとするとエラーになります。 エラーはシートに対して操作権限がないといわれます。 調べたところセルで関数を呼び出した場合、 var ss = SpreadsheetApp.getActiveSpreadsheet(); var cacheSheet = ss.getSheetByName( g_stocksSheetName ); で取得したシートに対して、作成・修正・削除などの操作が出来ないようです。 つまりセルから呼び出した場合オブジェクトの参照関数しか呼び出しが許可されない? ss.insertSheet( 'cacheSheet' ) とか cacheSheet.getRange( 1, 1 ).setValue( new Date() ); もダメでした。 5.イベントハンドラを使ってみる しょうがないので、書き込み権限を与えてくれそうな仕組みがないかテストしていたところ onEvent,onOpenなどならいけそうだったので、 onEventから呼び出してみました。 すると、シート作成・データセットまではうまくいきますが、 UrlFetchApp.fetchでエラーになっているらしく、 上流で捉えた例外は fetch を呼び出す権限がありません でした。