【MACRO】Google Apps Script 質問スレ【DRIVE】at TECH
【MACRO】Google Apps Script 質問スレ【DRIVE】 - 暇つぶし2ch206:デフォルトの名無しさん
15/05/23 21:40:53.24 P22nVuYt.net
>>205
1年前のなんて古くて使いモンにならないってのがよくわかるな
oauth 1.0ってアンタ

207:デフォルトの名無しさん
15/05/27 08:07:09.69 lvaBWQ33.net
>>206
君はGoogleのドキュメントがろくにメンテされてないこと知ってんの?
それと、GASで使うのにOAuthなんて使わないよw
JavaScriptで使う場合には必要だがそっちだって、OAuth2.0でのコーディングに
関しては別のページにあるし。GASやGoogle APIを弄っている人間とは到底思え
ない発言だなw

208:デフォルトの名無しさん
15/05/27 11:08:24.77 fMt5EoRl.net
> それと、GASで使うのにOAuthなんて使わないよw
ひょ、標準APIとの違いも解らない奴がココに居るのか
ちょっとキミにはこのスレちょっと早い

209:デフォルトの名無しさん
15/05/27 14:12:37.86 GScIfku9.net
煽るだけで具体例のない言葉は何の役にも立たねって
ばっちゃが言ってた

210:デフォルトの名無しさん
15/05/27 15:16:08.57 jmeRjzK/.net
知らないから自演も満足に出来ないんだろうが
煽り方が下手だと思う

211:デフォルトの名無しさん
15/05/27 16:25:43.57 smOTLbR3.net
>>208-209
だから、使ってからほざけよ。
コード書いてみ?GAS内でDrive API使うコードをな。
実際に開発やってる奴に、釈迦に説法って言葉覚えておけよ三流。

212:デフォルトの名無しさん
15/05/27 16:29:32.25 smOTLbR3.net
>>206
それとお前。
OAuth1.0だから何?そんなもの自分で2.0の実装でも換装すりゃいいだけの
話だろww
馬鹿なの?それとも2.0のコードでも書けとか言ってるわけ?馬鹿には無理だ
から引っ込んでろ

213:デフォルトの名無しさん
15/05/27 20:42:22.92 iPQChm+t.net
なんか急にonEditのe.userにメールアドレスが入ってこなくなったんだが
同じ現象の人いる?

214:デフォルトの名無しさん
15/05/28 09:53:52.42 /8nOg4qQ.net
これで良くね
URLリンク(stackoverflow.com)

215:デフォルトの名無しさん
15/06/02 10:59:19.63 CxAq+Stxh
書式設定を変えるようなスクリプトを作っても反映されないんだけど、
スプレッドシートの既知の問題?
例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても
折り返してくれない。
(ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す)

function test() {
   var sheet = SpreadsheetApp.getActiveSheet();
   var range = sheet.getRange('A:A');
   range.setWrap(true);
}

この問題って、既に書式設定してあるセルにフォームから文字列が入力されても
同じ事が起きるんだけど、地味に困ってる。

216:デフォルトの名無しさん
15/06/08 08:54:21.97 0Vy1Z1yY.net
>>213
そんなのしょっちゅうあるぜ?
session.userなんてメアド取れなくなったりとかね。
Googleって馬鹿だからバグ採りもせずにデプロイしてやがるのでこういうことがGoogle Apps for Workでも起きていてもんだいになってる。

217:デフォルトの名無しさん
15/06/08 13:38:40.43 rJB8iCDI.net
Googleって独りよがりだよな

218:デフォルトの名無しさん
15/06/11 09:07:55.30 DJZgiAWM.net
書式設定を変えるようなスクリプトを作っても反映されないんだけど、
スプレッドシートの既知の問題?
例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても
折り返してくれない。
(スクリプト実行後、ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す)
function test() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange('A:A');
range.setWrap(true);
}
この問題って、フォームから文字列が入力されても既に書式設定してあるセルで
同じ事が起きるんだけど、地味に困ってる。

219:デフォルトの名無しさん
15/06/12 10:07:42.64 7lwiQU6T.net
TwitterBotを作成しているのですが
OAuth1 for Apps Script
URLリンク(github.com)
にCONSUMER_KEYとCONSUMER_SECRETを入れてrunを実行しても投稿されません。
ログには Open the following URL and re-run the script
表示されるアドレスにアクセスするとSuccess!と表示されますが投稿されません。
どうしたら投稿できるようにできますか?

220:216
15/06/12 10:12:38.54 7lwiQU6T.net
>>219
動きました。すみません。

221:デフォルトの名無しさん
15/06/12 16:05:55.82 qp6MkQCv.net
どういたしまして

222:デフォルトの名無しさん
15/06/12 17:28:28.59 7lwiQU6T.net
atomのlinkのhrefを取得したいのですがどうすればいいのでしょうか
function kochiRSS() {
var sheet = SpreadsheetApp.getActiveSheet();
var row = 1;
var feedURL = 'URLリンク(www.pref.kochi.lg.jp)';
var xml = UrlFetchApp.fetch(feedURL).getContentText();
var document = XmlService.parse(xml);
var root = document.getRootElement();
var atom = XmlService.getNamespace('URLリンク(www.w3.org)');
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:デフォルトの名無しさん
15/06/12 18:11:48.05 qp6MkQCv.net
.getAttribute('href').getValue();

224:219
15/06/12 20:37:23.23 RT2PlkdQ.net
220
できましたどうもありがとうございます。

225:デフォルトの名無しさん
15/06/13 03:16:47.88 NUKk6CPY.net
どういたしまして

226:219
15/06/13 08:02:49.41 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:デフォルトの名無しさん
15/06/13 08:38:19.04 NUKk6CPY.net
馬鹿には無理

228:デフォルトの名無しさん
15/06/13 20:19:34.38 ZKnt+LAz.net
なんだこいつ

229:デフォルトの名無しさん
15/06/14 06:25:18.68 Gz1SNEoH.net
馬鹿には(回答は)無理

230:デフォルトの名無しさん
15/06/14 06:41:51.88 l6qAkUnh.net
一部変な奴もいるけど気にせずに馬鹿はどんどん質問してくださいな

231:デフォルトの名無しさん
15/06/15 13:48:50.97 6FCFdlNB.net
もっとやさしくしてください

232:デフォルトの名無しさん
15/06/15 20:34:44.01 TKCLtNo1.net
正直、DOM系の話題はなしにしたいものだ
DOMの話題ってjsの使い方一辺倒になっちまうから
GASそのものの本質を追究する姿勢が培われなくなってしまう

233:デフォルトの名無しさん
15/06/15 20:57:28.70 vJyBnBQX.net
GASはハウツー的な日本語ドキュメントが少ないから仕方ないかと
誰かその辺りをまとめてくれると(俺も)助かるんだがなー…(チラッチラッ

234:デフォルトの名無しさん
15/06/15 23:47:37.55 YPgI+YQd.net
>>226
>RSS1.0だとitemが<item rdf:about="記事のURL">
属性はattributeと言う。
こんな感じかな。
items[0].getAttribute("about","rdf").getValue();
上は未実証なので詳しくはreferenceを参照。
URLリンク(developers.google.com)(String,Namespace)

235:223
15/06/17 05:49:31.92 pjaGN1aW.net
ありがとうございます。
rdf:aboutのようなのは名前空間というみたいで
XmlService.getNamespaceを指定すると使えるようです。
詳しくはこちらに載っていました。
URLリンク(msdn.microsoft.com)

236:デフォルトの名無しさん
15/06/17 14:14:39.78 T4rbUCsj.net
いやここはGASのスレだしw
XMLの基本を鼻高々に解説されても

237:デフォルトの名無しさん
15/06/17 16:12:56.82 7KhQ6AFD.net
>>236
わかればよろしい

238:デフォルトの名無しさん
15/06/30 15:54:55.56 jfSOFpG/.net
google apps script のウェブアプリケーションの公開するとき
指定したグーグルアカウントだけに利用させるって出来ないんですかい?
共有でそういうのあったんですけど、共有はコード見れるとかそういうのだったんで

239:デフォルトの名無しさん
15/06/30 17:35:30.60 0T0Q+C6j.net
スレ違いだけどできないはずはないと思うよ
appsにアカウント登録できるはず

240:デフォルトの名無しさん
15/07/01 07:45:04.29 WrSpGcQO.net
>>238
1) googleアカウントでログインしてるユーザーだけに実行させることが出来る
2) アプリケーション側でどのアカウントで実行されているか把握することが出来る
1) と 2) を組み合わせれば可能

241:235
15/07/01 15:27:56.64 s1huTgGg.net
出来たよありがとう
"無ければ作れ"がGASでも通用したとか最高だ

242:デフォルトの名無しさん
15/07/01 15:58:11.31 WrSpGcQO.net
おめおめ

243:デフォルトの名無しさん
15/07/04 14:34:59.39 PdgAmMn6.net
GASに初トライしていて問題にブチあたりました。
解決方法があれば教えてください。

■やりたいこと
スプレッドシート内で
外部ページ情報を取得しリアルタイム・もしくはインターバル更新表示しい。
基本は自動更新
■更新条件
スプレッドシートを開いた
スプレッドシートのセルにユーザーから入力があった。
の両方です。
■ためしたこと。
1.=ImportXMLを使って取り込み
 単純な目的は果たせるがセルに埋め込むと取得データを加工するにしても限度がある。
また、同じURLを指定したセルが複数ある場合、同じデータなのにアクセスさせるのが無駄
2.GASでImportXML相当のことをしてみる
 セルから呼び出せる関数でUrlFetchApp.fetchを使ってみる。
 当初の目的は果たせるようになったが、セルの数が多く、
 またスクリプト実行テストを繰り返しているとあっというまに1日の呼び出し回数制限に達してしまう(無料アカなので2万回)
3.呼び出し制限に達しないようにするための工夫
 URLから取得した情報をプールしておき、前回取得からのインターバル時間を経過したら再取得してキャッシュ更新。
 または、キャッシュに存在しないデータを要求された場合もキャッシュ更新。
 キャッシュ場所は、自分のスプレッドシート内にcacheシートを生成してそこに書き込んでおく。
4.3までのロジック実装は完了し、スクリプトエディタの関数実行テストまでは正常完了
続きます。

244:デフォルトの名無しさん
15/07/04 14:44:48.33 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 を呼び出す権限がありません
でした。

245:デフォルトの名無しさん
15/07/04 14:54:35.26 PdgAmMn6.net
6.キャッシュの保存場所
自分に書き込めない場合、どっかに保存できないの?と思い調べてみると
ScriptDb とか言うのがあるみたいですが、サービス終了予定の機能ぽいですし、
Google Cloud SQLとかいうのを使うしかない?有料??
■知りたい事
・1~6の流れで問題となっているアクセス権を解決できる方法はありますか?
・無理な場合の代替え手法はありますか?
・そもそもアプローチが間違っている、こうしたほうが良いよ。
という感じでうs。
このまま、いろいろ渡り歩いていても遠回りになりそうな予感なので質問してみました。
よろしくお願いします。

246:デフォルトの名無しさん
15/07/04 15:38:30.72 IUri6wsi.net
>>245
htmlservice + oauth2

247:240
15/07/06 03:19:41.60 c4e3DSSP.net
>>246
> >>245
> htmlservice + oauth2
ありがとうございます。
調べてみます。

248:デフォルトの名無しさん
15/07/07 01:32:45.09 OGGfcKdI.net
htmlからツイにつぶやくのをやってたら
(>_<)この顔文字が(&gt;_&lt;)こんななってたぶんそのせいででエラー吐くんだけどこれはreplaceすればいいのかな?
こういう表記になる文字ってたくさんあるのかな?

249:デフォルトの名無しさん
15/07/07 04:21:52.11 FHtVzgus.net
君にふさわしい板はこっち
URLリンク(kanae.2ch.net)

250:デフォルトの名無しさん
15/07/07 15:42:58.38 5Rsbcn5E.net
>>248
おいてめーそれ「はじめてのホームページビルダー」レベルじゃねぇか

251:デフォルトの名無しさん
15/07/08 23:01:03.10 oRYg8bj0.net
>>248
そういうのはエンコードすべきなんじゃないのか?

252:デフォルトの名無しさん
15/07/08 23:17:38.40 Nj43MlcH.net
>>249
PHPはちょっと良くわかんないです
gasですし
>>250
そうなんですよね~
初心者なんです
>>251
エンコードですか
調べてみます

253:240
15/07/12 18:50:40.39 yhZDzWcx.net
>>246
> >>245
> htmlservice + oauth2
あれから調べてみましたが、これらを使ってどうアプローチしていいか分かりませんでした。
どういうアプローチを取って良いのか、もう少し詳しく教えていただけないでしょうか?
自分が上でやっていてダメだったアプローチは以下のAuthorization modesをみると納得なのですが
URLリンク(developers.google.com)
これらの状況の中でどうやって目的を達成していいか分かりませんでした。
Htmlservice, oauth2ということだったので、
外部サイト情報から取得したキャッシュをHtmlにしてGoogleDrive側に保存すればいいのかな?
とか思っていたのですが、
AuthMode.LIMITEDやAuthMode.CUSTOM_FUNCTIONでは他のサービスへのアクセスは
Any services that don’t access user data
とのことで、キャッシュを書き込めないようです。
実際に試してみましたが、スクリプト単体テストではOKでしたが、イベントハンドラから呼び出すとDrive周りの関数で権限がないといわれました。
oauth2に関してはいまいちよく分かりませんでした。
他社サービスIDなどで別サイトのサービスにアクセスする場合などの認証などに使ったりするようですが、
Googleのアカウントで自身にログインして何かをしろという事でしょうか?
どちらにしろ、AuthMode.FULLで行えるような権限を得られないと、
・キャッシュを作るための外部サイトアクセスとコンテンツ取得
・取得したコンテンツから生成したキャッシュデータの保存(シートorファイル)
が実現できないと思うのですが、どうでしょう?

254:デフォルトの名無しさん
15/07/12 19:09:03.00 slCoB0p4.net
設定間違えてるに+1

255:デフォルトの名無しさん
15/07/13 17:53:46.10 UxTEJ+9t.net
node.js / io.js 動けばいいのにね

256:デフォルトの名無しさん
15/07/15 20:57:05.83 70iQnSqB.net
新たなるオライリー本か?
URLリンク(www.amazon.co.jp)

257:デフォルトの名無しさん
15/07/19 04:21:49.78 eNaDFGYO.net
分かる人がいたら教えて下さい
function upload() {
var clientId = '*************';
var imgUrl = 'URLリンク(www.google.co.jp)';
var service = getService(); //aouth2のなんか
if (service.hasAccess()) {
var url = 'URLリンク(api.imgur.com)';
var response = UrlFetchApp.fetch(url, { //ここでエラーが出る
method: 'post',
headers: {
Authorization: 'Client-ID ' + clientId,
},
data: {
image: imgUrl,
type: 'URL'
}
});
var result = JSON.parse(response.getContentText());
return result;
} else {
こういうエラーが出ます
{"data":{"error":"No image data was sent to the upload api","request":"\/3\/image","method":"POST"},"success":false,"status":400}
どこが間違えてるんでしょうか
imgur apiのページ
URLリンク(api.imgur.com)

258:デフォルトの名無しさん
15/07/19 05:55:09.18 EU0ROg42.net
URLリンク(www.google.co.jp)
404
The requested URL /images/srpr/logo11w.png'; was not found on this server.

259:デフォルトの名無しさん
15/07/19 06:53:12.05 eNaDFGYO.net
普通に繋がるんですが・・・
というか画像のURLに関しては色々試してます

260:デフォルトの名無しさん
15/07/19 07:23:46.52 EU0ROg42.net
さっきはエラってたが

261:デフォルトの名無しさん
15/07/19 13:37:40.69 Npxm1YBj.net
URLリンク(qiita.com)

262:デフォルトの名無しさん
15/07/19 14:52:50.12 Npxm1YBj.net
data: {
type: 'base64',
image: 'hogehoge(base64data)hogehoge'
}
ためしてみたけど
400
Image format not supported, or image is corrupt.
なんぞこれ

263:デフォルトの名無しさん
15/07/19 16:20:37.89 MA6NEEKT.net
>>257
OAuth2の認証系をしっかり組んでないからじゃないかね。
URLリンク(wp.me)

264:デフォルトの名無しさん
15/07/19 17:02:15.86 G63bEDLi.net
>>257
もう一度よく、下記のURL見て組んでみるヨロし
URLリンク(api.imgur.com)

265:デフォルトの名無しさん
15/07/19 17:26:45.22 eNaDFGYO.net
>>263>>264
そっちなんですね
読んできます
ありがとうございます

266:デフォルトの名無しさん
15/07/20 01:12:32.08 M+3F+JJV.net
読んでも全然わかんないや(´・ω・`)
ツイとかはコピペでなんとかなったけどimgurはあんまり見つかんないからやっぱ自力じゃ無理なのかな

267:デフォルトの名無しさん
15/07/20 01:28:27.60 M+3F+JJV.net
getの方は出来たんだけどなぁ
もうちょっと読んでみよ英語分かんないけど
function getImage(id) {
var service = getService();
if (service.hasAccess()) {
var url = 'URLリンク(api.imgur.com)' + id;
var response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
}
});
var result = JSON.parse(response.getContentText());
return result;
// Logger.log(result);
} else {
var authorizationUrl = service.getAuthorizationUrl();
Logger.log('Open the following URL and re-run the script: %s',
authorizationUrl);
}
}

268:デフォルトの名無しさん
15/07/20 04:39:02.07 /UvV48hv.net
>>257 のは匿名うp用の認証してるからOAuth2は関係ないね

269:デフォルトの名無しさん
15/07/20 10:41:38.27 11U3Dh8m.net
Content-Type: application/json
つけたらでけた

270:デフォルトの名無しさん
15/07/20 23:29:34.40 M+3F+JJV.net
どこに付ければいいか分からないので適当に色々なところに付けてみましたが出来ませんでした
もう少し詳しくお願いします

271:デフォルトの名無しさん
15/07/21 20:08:20.82 S4WMmXN0.net
headers: {
Authorization: 'Client-ID ' + clientId,
Content-Type: 'application/json'
},

272:デフォルトの名無しさん
15/07/21 22:14:27.88 cjPlPdED.net
>>271
そう書くと保存の時に「プロパティ ID の後に : がありません。」ってエラーが出るんですけどなんでだろう
headers: {
Authorization: 'Client-ID ' + clientId,
Content-Type: 'application/json'    ←この行
},

273:デフォルトの名無しさん
15/07/21 23:22:00.36 cjPlPdED.net
'Content-Type': にしてみてもダメでした

274:デフォルトの名無しさん
15/07/22 08:36:09.80 FlFswPU7.net
馬鹿には無理

275:デフォルトの名無しさん
15/07/24 07:31:33.29 NfS3cn5h.net
もっとやさしくしてください

276:デフォルトの名無しさん
15/07/24 15:37:18.28 YFrH4Ww5.net
やさしくやさしくやさしくね

277:デフォルトの名無しさん
15/07/24 20:21:19.80 dvC3Xj8J.net
いとしさとせつなさとこころづよさと

278:デフォルトの名無しさん
15/08/20 11:36:44.28 pV6cw7bo.net
詰んってる

279:デフォルトの名無しさん
15/08/26 18:33:14.63 AtwE5MzM.net
スレリンク(php板:81番)

280:デフォルトの名無しさん
15/10/15 18:03:33.74 bdlPZJI1.net
py

281:デフォルトの名無しさん
15/10/26 00:51:32.73 pJrmvVTd.net
multipartで渡してエラー吐くと思ったらJSONで渡すんだねこれ…

282:デフォルトの名無しさん
15/10/28 22:28:05.44 58PwIK9B.net
独自関数(自作)でbackGroundの色が特定の色の場合にsumする関数をつくりたいんだけど、
引数でバックグラウンドの色ってとりだせるの?
というより、適当に作ったんだけど、スクリプト保存しないと独自関数を使用しているセルが更新されなくて困ってる。

283:デフォルトの名無しさん
15/11/05 20:42:24.52 6t/dd9qY.net
何でもできるようになってきて
すごくありがたく使わせてもらってるんだけど
実行速度が遅いのは何とかしてほしいなぁ

284:デフォルトの名無しさん
15/11/06 18:30:44.33 F7EIvq3A.net
遅いね
あとREMOTE_ADDRとか取れなかった気がするのも痛い

285:デフォルトの名無しさん
15/11/18 03:36:46.11 CE5+T1br.net
スプレッドシートの0:00とか時間表記でのものを時と分に分けて数値として扱いたくて
getRangeで2次元配列で読み込んで時間の部分をsplit使って:で分けました
でもSSの時間部分の書式が日付になるとWed Nov 18 2015 00:00~みたいなDateで読み込まれるし
書式なしテキストにするとStringになって数値として扱えないんです(8:00だったら8と00になって足すと800になる)
どうすればいいでしょうか?

286:デフォルトの名無しさん
15/11/18 05:27:10.31 2k4RwPb/.net
あきらめる

287:デフォルトの名無しさん
15/11/18 07:26:46.79 nLopjri3.net
>>285
固定させたいカラムを晒してくれないとわからない
カラムによってはその機能が備わってるみたいだし

288:デフォルトの名無しさん
15/11/19 00:23:18.88 gRbsU57g.net
*60は?

289:デフォルトの名無しさん
15/11/20 06:21:50.68 bl9/kj42.net
ごめんなさい
自己解決しました
Number()ってのをつかったらいけました

290:デフォルトの名無しさん
15/11/27 15:20:14.09 c/N8jVfb.net
火事お見舞い申し上げます。

291:デフォルトの名無しさん
15/12/03 15:49:15.48 5y9yFaIO.net
test

292:デフォルトの名無しさん
15/12/16 14:14:14.45 kHfROXFw.net
グローバルでconstを使うと、
「TypeError: 定数 **** の再宣言。」
とエラーが出るのですが、グローバルではconstは使えないのでしょうか?

293:デフォルトの名無しさん
15/12/17 12:07:32.69 Szn4FINI.net
>再宣言

294:デフォルトの名無しさん
15/12/19 21:20:25.74 0J9ouBIM.net
シート上のデータをまとめてカレンダーに移したいのですが
GASからbatch requestで処理できますか?
もしできるなら似たような事例でコードがわかるものを教えてください

295:デフォルトの名無しさん
15/12/20 11:31:59.34 8RLYRFXT.net
出来ますよ

296:デフォルトの名無しさん
15/12/20 16:16:42.06 8RLYRFXT.net
どうやんの

297:デフォルトの名無しさん
15/12/21 12:08:37.40 Hf5X7byl.net
>>294
CalendarApp使えばいいじゃん

298:デフォルトの名無しさん
15/12/22 14:35:21.60 Cg7y4/KF.net
>>293
すみません、説明が不足していました。
constで定義した名前は他の場所では宣言していません。
ただ、グローバルでconstを使うと、再宣言していない定数でも
「TypeError: 定数 **** の再宣言。」とエラーになってしまいます。
(function内などのスコープではconstは普通に使えています。)
constでなくvarを使うと再宣言のエラーは出ません。
また、const指定する定数の名前は何にしても再宣言のエラーが出ます。
constの使い方が間違っているのかもしれませんが、何かおかしい点があれば教えていただけないでしょうか?

299:デフォルトの名無しさん
15/12/22 15:36:52.19 WRvltcSm.net
すごく初歩的な質問だと思うのですが原因が解りません
どなたか教えて下さい
下記サイトを参考にスクリプトを作成したのですが
URLリンク(chaika.hatenablog.com)
デバッグすると一番最初の
var ss = evt.source.getActiveSheet();
の箇所で
TypeError: undefined からプロパティ「source」を読み取れません。(行 3、ファイル「コード」)
と出てしまいます
ググったところ、スクリプトの作成元が間違っていると出たりするようですが
参考サイトではスプレッドシートから作成、とあるので間違いではないと思います
かといって何が問題なのか解りません

300:デフォルトの名無しさん
15/12/23 08:28:53.59 2F8TsTF+.net
3. エディタのリソースをクリックして、**現在のプロジェクトのトリガー**を選択
4. 実行をonEditEvent、イベントをスプレッドシートから・編集時 にして保存

301:デフォルトの名無しさん
15/12/23 13:31:42.44 LnNJH8Hn.net
>>300
296です
その設定はやってあります
再度確認しましたがその通りになっています
ですが、デバッグすると296の通りです
URLリンク(i.gyazo.com)

302:デフォルトの名無しさん
15/12/24 01:20:26.04 Icnst7JF.net
関数指定してデバッグボタン押しただけとか?
まさかなー

303:デフォルトの名無しさん
15/12/24 16:49:29.65 4YM2CMve.net
あるある

304:デフォルトの名無しさん
15/12/24 20:07:56.13 Dg+ThN48.net
>>302
296です
私へのレスでしょうか?
何かやり方が間違っているのでしたら教えていただけませんか?

305:デフォルトの名無しさん
15/12/24 21:14:24.02 Icnst7JF.net
いや、俺もトリガーの機能をここのやり取りで知ったぐらいだけど、
デバッグボタンを押すだけだったら
onEditEvent();
と呼び出されるだけじゃない
evtがundefinedなのはそのせいかなと思って
実際どうなん?
正式なやり方はしらんけど、Loggerでトリガーが起動された時に
どんなオブジェクトが渡されてくるかを調べる
そういうオブジェクトを自力で用意してonEditEventに渡す関数を作成する
その関数をデバッグモードで起動
とかするんじゃないのかな
ググってみればやっている人いるかも

306:デフォルトの名無しさん
16/01/31 12:12:27.01 Y0j0ifuu.net
とりあえず、「Hello,World」から始めようと思ってやってみたんですが、
「Cannot call Browser.msgBox() from this context;
have you tried Logger.log() instead? (line 1, file "helloworld")」
とエラーがでていきなり動きません。
エラー内容で検索してみたのですが、
同様のケースは見つからず困っています。
原因は何なのでしょう?
ソースは以下の通りです。↓
function myFunction() {
Browser.msgBox("Hello World!");
}

307:デフォルトの名無しさん
16/01/31 12:40:01.06 35YTNVlr.net
スプレッドシートで やったら普通に動いたよ
this contextとある様にどんな状況でスクリプトを実行しているかが問題だと思う

308:デフォルトの名無しさん
16/01/31 19:52:12.09 iHBYUhz2.net
>>306
そもそも、Browser.msgBoxってスプレッドシートでしか使えませんよ。
なので、普通は例えば
var ui = SpreadsheetApp.getUi();
ui.alert(“helllo world”);
です。uiのgetUiの部分をDocumentApp.getUiにすればドキュメントでも
同じように使えます。Browser.msgBoxは現在は非推奨ですよ。

309:デフォルトの名無しさん
16/02/01 15:04:44.00 C4njzqYk.net
>>306
> from this context

310:デフォルトの名無しさん
16/02/01 17:37:08.92 zFO6PW8k.net
>>307 >>308 >>309
「Hello World」はスプレッドシート経由じゃないと実行できないんですね。
私はGoogleDriveからスクリプトを新規作成して実行していました。
だからエラーがでて動かなかったんですね。
ためしにスプレッドシート経由で動かしてみたところ、
無事、「Hello World」が表示されました。
教えていただいて、ありがとうございました。助かりました。

311:デフォルトの名無しさん
16/02/29 07:51:01.35 tfVkN3NW.net
インスタのAPIで色々しようと思ったけどoauth2が全然分かんないや
gasでインスタapi扱い方書いてるサイトとかないだろうか?

312:デフォルトの名無しさん
16/03/16 16:45:59.48 AoxyQu12.net
現在、Google DriveをAPI経由で使うための勉強をしています。
[root]
 +[個人的なフォルダ]
 +[公開している共有しているフォルダ]
このような構成で、API経由で両フォルダ上にファイルの読み書きを想定しています。
ひの際に使うアクセストークンが知られてしまうと
だれでも両フォルダのの中身をいじることができるようになってしまいます。
そこで質問なのですが、「公開している共有しているフォルダ」の操作だけを
許可するトークンは発行できるのでしょうか。
ひとつユーザを作って「公開している共有しているフォルダ」を共有し
そのユーザでトークンを発行すれば期待どおりになるということはわかったのですが、
お金を削減したいので、ひとつの特権管理者ユーザだけで実現したいのです。
お詳しい方いらっしゃいましたら、どうか教えて下さい。

313:デフォルトの名無しさん
16/03/18 22:40:22.81 Q3hcmZkc.net
>>312
googleアカウントでログインさせろ

314:デフォルトの名無しさん
16/03/21 20:12:50.73 49NnzOUU.net
>>312
アクセストークン使わずにコーディングする。ヒントhScript.getOauthTokenだったかな。
PDF作成時にも使う手ですよ。

315:デフォルトの名無しさん
16/03/21 20:13:28.35 49NnzOUU.net
ScriptAppだった。

316:デフォルトの名無しさん
16/04/10 21:58:42.74 q/cDt/0h.net
GASのWebアプリケーションで質問です。
doGetで受けたパラメーターは
e.parameter.xxxで取得できますが
これをクライアントに渡す方法で悩んでます。
今はdoGetで受け取ったらUsetCacheに預けて
html(template)側で<? ?>を使って取り出しています。
初心者ながら、これがスマートじゃない気がして、
違和感を拭いきれないのです。
スマートな方法を教えてください。

317:デフォルトの名無しさん
16/05/01 16:22:45.99 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw

The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
17

318:デフォルトの名無しさん
16/05/02 15:16:04.56 aR8AOrvI.net
YahooAPIのスレは無い?

319:デフォルトの名無しさん
16/05/27 20:19:53.53 wEIQ/dS/.net
Google Apps Scriptって重くね?
かなり処理量すくないスクリプト書いたんだけどモッサリしてる。
起動が遅いだけなのかなぁ。

320:デフォルトの名無しさん
16/05/28 11:45:02.02 YkPoIoOS.net
超遅いよ

321:デフォルトの名無しさん
16/05/28 11:46:40.70 YkPoIoOS.net
コード更新後最初にアクセスしたときにプロセスが立ち上がる感じで
何度かアクセスするといくつかのプロセスが立ち上がるので
最初の数回は全部遅い感じがするが
しばらくすると速くなってくる
ただしプロセスのキャッシュ有効期限が過ぎるとまた最初からなので遅くなったり

322:デフォルトの名無しさん
16/06/13 11:51:06.87 0qOmRg0P.net
質問です。
スプレッドシート内にいくつかの図形を配置してるんですけど
セルの値が編集された時、一個の図形(地図画像)を
更新(画像削除→画像再配置)したいです。
今は画像を削除→画像作成script と手作業でしています。
この作業をscripで出来ますでしょうか?

323:デフォルトの名無しさん
16/06/13 15:00:26.33 zgrawcOE.net
削除しなくても更新される

324:デフォルトの名無しさん
16/06/13 20:58:26.01 EAqpGAx8.net
google siteってjavascript使えなくて、代わりにGAS使えってことなの?

325:デフォルトの名無しさん
16/06/17 23:25:49.12 ZmH+ZAWf.net
>>324
gasはあくまでサーバーサイドなので
クライアントサイドは普通にjs使えるのでは?

326:デフォルトの名無しさん
16/06/18 14:05:20.70 AGMP56Qn.net
js埋めても変換されて出力されるって話では

327:デフォルトの名無しさん
16/07/03 05:32:47.99 AkQnhWCl.net
>>324
元々サイトっていうより、Wikiなので。あのサービスは。
なので埋め込みのApps Scriptを使えって事です。
>>325
それはApps scriptのHTML Serviceの中の話です。

328:デフォルトの名無しさん
16/07/03 05:33:09.52 AkQnhWCl.net
>>326
サニタイズされて無効化されますよ

329:デフォルトの名無しさん
16/07/26 19:17:35.47 SrT4PCno.net
実行している自分自身のFile IDを取得するにはどうしたらいいでしょうか

330:326
16/07/28 10:11:10.32 LxRDdK5b.net
自己解決しました、やりたかったのは同じソースでも実行するfile idによって動作を変えたかった、なんですが、
ローカルで開発してgapps pushするときにうまく切り替えるようにしました、、、

331:デフォルトの名無しさん
16/07/28 19:04:49.94 O8Vfrh0P.net
FileIDかどうかは知らんけどデプロイして変わったのを知りたいなら
AppVersionみたいなのは実行中に取れた気がする
(管理画面に表示されるやつと同じもの)

332:デフォルトの名無しさん
16/08/05 07:48:44.14 OmPlANC2.net
質問するスレ間違えてたみたいなのでここで改めて質問させてください
URLリンク(hesonogoma.com)
この株価データサイトのデータを定期的にスプレッドシートに表示させたくて
ここ数ヶ月悩んでます
1
サイト下部にある Copy to Clipboad からコピーしてシートに貼り付ける
というスクリプトは可能ですか?出来るならどうすればいいのでしょうか?
2
CSVファイルをダウンロード
本来はこのやり方を調べていました。が、flashで表示されているのでurlが判らず
お手上げ状態に・・
1が無理なら2を何とかしたいと思っております

333:デフォルトの名無しさん
16/08/05 12:12:46.89 LJe/qM3f.net
課金が必要

334:デフォルトの名無しさん
16/08/05 12:16:56.28 LJe/qM3f.net
っつーか PritView でよくね
ただの html 取れるぞ

335:329
16/08/06 08:04:08.54 2dv1pXxg.net
>>334
レス有難うございます。PrintViewでどうにかできそうですか!
でもどうすればいいか解らないレベルなので
とりあえず図書館でjavascriptの本を借りてきました
「はじめに」
読んでるうちに寝てもうたw

336:329
16/08/06 08:13:37.42 2dv1pXxg.net
ちなみに>332の2を試してみたときのコードが
function getCsvSample() {
var folderId = '***********';
var destfolder = DriveApp.getFolderById(folderId);
var date = "2016-08-04";
var response = UrlFetchApp.fetch("URLリンク(hesonogoma.com));
destfolder.createFile(date + '.csv', response.getContentText('Shift_JIS'));
}
です。拾ってきたコードをいじって実行したら
謎の文字化け集団が襲ってきました (ここで心折れる)

337:デフォルトの名無しさん
16/08/10 23:27:34.29 U9v+Tybh.net
GASでスクレイピングしたいんですが、UrlFetchAppで取得したHTML(XMLじゃない)をDOM化するのってできますでしょうか?
正規表現で必要なところを取ってくるのは心が折れそうなので、セレクタで処理したいです。

338:デフォルトの名無しさん
16/08/11 11:55:28.49 v2n9djjr.net
OK

339:デフォルトの名無しさん
16/08/11 16:34:55.39 qVxIjH10.net
>>332-336
Shift_JIS ではなく、UTF-8 で保存すれば?
その後、TeraPad などのエディタで、Shift_JIS に変換する

340:329
16/08/13 07:36:05.54 VdLmMpzK.net
>>339
レスありがとうございます
試してみたんですが、うまく変換できませんでした
やっぱりurlが違うのかな、、
このスレの質問、回答がほとんど理解できてない程度ので
もう少し基本からじっくり勉強してみます!
>>332の1だけ
引き続き質問を残させてください

341:デフォルトの名無しさん
16/08/13 17:13:54.48 byPJKfY1.net
GAS関係なくね?

342:デフォルトの名無しさん
16/08/23 14:00:18.41 SYSHEBtV.net
>>332
CSVならGASでドライブに1回保存してからインポートすれば?
次の実行時にドライブAPIでファイル消せば残らんし
もしくはこれ
URLリンク(qiita.com)
>>337
parserつかえ
URLリンク(qiita.com)

343:デフォルトの名無しさん
16/08/24 01:12:18.88 dEIn8nhr.net
GASでgoogleAPIを叩いてgmailの下書きを作成するものを作ったのですが、
これを毎日作成(雛形をコピー)するスプレッドシードで使いたいと思っています。
スプレッドシートに書いてコピーすると、gAPIの紐付けプロジェクトが変わっているので設定しなおさなければ使えず、困っています。
スプレッドシートをコピーして、シート上のボタンを押したらすぐに下書きを作れる状態を作りたいのですが、どのような方法がありますか?

344:デフォルトの名無しさん
16/08/24 09:46:43.51 nL2g9QDB.net
>>343
GASのGmailAppでダメ?
URLリンク(qiita.com)
個人的にはフォームから入力させた方がGUI的にいいと思うけど
スプレッドシートに保存したいならその後GASで自動追加させとけばいいし

345:デフォルトの名無しさん
16/08/24 15:58:08.87 Ku8YOB4B.net
>>343
ライブラリ化する

346:デフォルトの名無しさん
16/08/25 08:04:24.21 Y3c8VA1Y.net
>>342
329です 参考にしてみます
ありがとうございます!

347:デフォルトの名無しさん
16/08/25 23:18:14.53 5XLt8Aa8.net
>>332,>>346
よっしゃ、俺がやってやらぁ!って思って意気込んでサイトみたら普通にJSONで取れた
URLリンク(hesonogoma.com)

348:デフォルトの名無しさん
16/08/27 08:39:19.05 m8PsOLXX.net
>>347
おお、、、これで目的は果たせそうです
皆さん長々とありがとうございました!勉強も少しずつ続けます

349:334
16/08/27 11:42:11.09 RucMLpGl.net
>>342
ありがとうございます。ですが、そのライブラリだと正規表現を使うのと全く変わらないです。
いっそのこと自作しようと思います。
ありがとうございました。

350:デフォルトの名無しさん
16/09/28 22:05:17.24 eXjFddOW.net
ここ最近CalendarAppのアクセス頻度でエラーが出るようになった
Googleはアナウンスなしで仕様変更してくるのやめてほしい

351:デフォルトの名無しさん
16/10/19 12:06:30.27 r6QG4f4p.net
G Suite ω

352:デフォルトの名無しさん
16/10/19 18:25:48.15 V4/PZwvc.net
株価のサイトにはNASDAQとかもあるのか
このJSONデータが無料ってすごいな

353:デフォルトの名無しさん
16/10/22 17:05:09.77 O48rD9qT.net
>>350
ほんそれ

354:デフォルトの名無しさん
16/11/25 23:29:15.59 dTj7tfXq.net
プロジェクトの.gsファイルって並び替えってできないんですか?

355:デフォルトの名無しさん
16/12/13 18:03:00.36 x2U1jQSF.net
google sitesとスプレッドシートとの連携について教えて下さい。
google sitesで作成したページ(AAAについての確認とします)上に個人名でいくつかの
CK BOXがあります。
----------------------------
<AAAについての確認>
□Aさん
□Bくん
□Cちゃん
□Dちゃん
□Eさん
送信
----------------------------
いくつかのCK BOXにCKが入っているとして”送信”を押したら次の様にスプレッドシートを操作する方法を
教えて下さい。
1. googleドライブ上の指定されたスプレッドシート内に<AAAについての確認>というシートが作成される。
2. 1で作成されたシートにAさんからEさんまでのCK BOX STATUSを記録する
3. 送信した日付も記録する
目的としては、家族内情報共有ホームページを作成したいです。
Googleサイトが無償でホームページが作成できるとのことでGoogleサイトでのこの内容の動きが
出来るか教えていただきたいです。

356:デフォルトの名無しさん
16/12/13 21:30:54.00 mRmuTzdU.net
フォームの名前を<AAAについての確認>とすればいい。

357:デフォルトの名無しさん
16/12/14 13:19:44.27 UzzFPJML.net
CK BOX
って何かと思った

358:デフォルトの名無しさん
16/12/17 01:48:09.89 3C8QRPXl.net
GASであるサイトをスクレイピングしたいけど、ログインしないと情報が取得できない。
クッキーをセットしたりすればログインしてアクセスできるけど、それってセキュリティ的に危険かな?

359:デフォルトの名無しさん
16/12/19 23:51:02.67 Hch485Lz.net
GASでスプレッドシートをいじろうと思ってるのですか、まず有効なスプレッドシートを選択してくださいと。と表示されてできません。なにがダメなのでしょうか。下記のようにやっています。
var ss = SpreadsheetApp.OpenById("");
var sheet = ss.getSheetByName("");
SpreadsheetApp.setActiveSheet(sheet);

360:デフォルトの名無しさん
16/12/20 12:59:03.44 lAXr92yw.net
IDは?

361:デフォルトの名無しさん
16/12/20 19:57:35.71 ktde9hau.net
oops

362:デフォルトの名無しさん
16/12/21 00:25:00.04 nYEPRmnr.net
ID、シート名ともにあってます…
スプレッドシートからスクリプトエディタを使わないとできないのでしょうか?今は別にスクリプトファイルを作ってやってます

363:デフォルトの名無しさん
16/12/21 08:27:21.58 h8+/QyVK.net
>>359
”→'

364:デフォルトの名無しさん
16/12/22 18:37:45.76 0Tg51mYJ.net
>>359
3行目は開いてるスプレッドシートに対してしか効かないとか。
試してないけど。
別に開かずとも変数sheetは取れてるだろうから、3行目は書かなくてもその後のやりたいことはできるのでは?

365:デフォルトの名無しさん
16/12/22 18:40:37.70 0Tg51mYJ.net
>>364
もしくは、3行目を
SpreadsheetApp.setActiveSheet
じゃなくて
ss.setActiveSheet
ってできないかな?

366:デフォルトの名無しさん
16/12/22 23:50:12.42 TIDq1bhf.net
>>359
試してはないけど、まずアクティブなシート取得しないとエラるっぽい
URLリンク(nevernoteit1419.blogspot.jp)
URLリンク(developers.google.com)(Sheet)

367:デフォルトの名無しさん
16/12/27 01:28:56.39 tIGH6DEG.net
みなさんありがとうございました!
Var SS = SpreadsheetApp.openById("");
Var sheet = SS.getSheetByName("");
SpreadsheetApp.getActivesheet ();
でエラー出ずにやることができました

368:デフォルトの名無しさん
16/12/27 14:37:37.38 6KX94UiV.net
sheetが使われてない

369:デフォルトの名無しさん
17/01/08 20:32:30.74 BBb65MXo.net
GASでローカルのtxt、たとえばc:\\test.txtなんかをスプレッドシートに展開したいのだけれど
csvを展開するスクリプト(URLリンク(github.com)
をいじくりまわしてもどうもうまくいかない
このスクリプトだと、フォームが表示されるのだけれど
フォームの表示なしで、固定のテキストファイル(たとえばc:\\test.txt)を展開することって
GASではむりなんかいな?

370:デフォルトの名無しさん
17/01/08 21:45:18.24 5b4VWoeT.net
ローカルのものをGoogleDriveにupするAPIはあるよ

371:366
17/01/09 07:41:00.04 kW/T2j6A.net
>>370
早速の返信ありがとうございます
いろいろ調べましたが
URLリンク(tokidoki-web.com)
にあるとおり
>セキュリティの問題上でパスを「C:\file.txt」や「../text/file.txt」の様に指定してファイルを書き直す事はできません。
との状況です

372:デフォルトの名無しさん
17/01/09 10:02:02.53 /7U8UXhW.net
ローカルのものをGoogleDriveにupしたあと
それをGASで開くんだよ

373:366
17/01/12 21:41:52.77 35gbmkUr.net
>>372
その、「ローカルのものをGoogleDriveにup」をフォームなどの表示なしに自動化したいのです

374:デフォルトの名無しさん
17/01/13 00:01:00.63 YkcCHApN.net
>>373
デスクトップ版のGoogle Drive使って
自動同期でうpすれば?

375:366
17/01/13 23:07:28.92 lbjer3ZB.net
>>374
ありがとうできました。

376:デフォルトの名無しさん
17/02/02 07:52:54.77 hDfY8PDB.net
半年ほど前にお世話になった者です
スプレッドシートでimportdata関数を使っていたんですが
Loading......が頻発するので、やはりGASで対処したいのです
データ取得までは出来てると思うのですが、シートに書き込む段階が全くおかしいようで・・

function fetchData(){
var response = UrlFetchApp.fetch("URLリンク(hesonogoma.com));
var json = response.getContentText();
var kakaku = JSON.parse(json);
var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1, 1);
range.offset(0, 0, 6000, 26).clear();
for(var i=0; i<kakaku.length; i++) {
var event = kakaku[i];
range.offset(i+1,0).setValue(event);
}
}
正解か、参考になるサイトをご教授いただきたいのです
色んなサイトのコード切り貼りしすぎて、頭がおかしくなってきたw

377:デフォルトの名無しさん
17/02/02 12:56:10.24 Y5kXFMjA.net
アクセス権は?

378:373
17/02/03 06:23:34.32 HRggU1Ve.net
>>377
仕組みがよくわからないんですが、
ログにはデータ表示されるのでアクセスは出来ているはず・・・
・・もしかしてアクセス権というのは違法性の問題とかですか!?
すみません、だったら質問とりやめますが

379:デフォルトの名無しさん
17/02/03 08:05:00.39 HRggU1Ve.net
色々やってみたら一応なんとかなりました
1年ちょいのモヤモヤが一気に解消して、いま涙目になってますウォォ
ありがとうございました!

380:デフォルトの名無しさん
17/02/03 16:11:50.71 Jl+ODihZ.net
役に立たんちんぽだな

381:デフォルトの名無しさん
17/02/15 00:43:00.46 8OzNcjl5.net
エラーのメールいっぱいくるからトリガー止めようと思っても保存押したらサーバーエラーになっちゃう

382:デフォルトの名無しさん
17/02/15 13:37:01.14 8OzNcjl5.net
"サービスで1日に使用しているコンピュータ時間が長すぎます”っていうエラー出るだけど
どういうエラーか分かりますか?
なにもいじってないのに昨晩から急に出るようになった

383:デフォルトの名無しさん
17/02/15 13:39:42.93 0zPxl8zN.net
無限ループ

384:デフォルトの名無しさん
17/02/15 13:40:56.40 8OzNcjl5.net
なるほど
なんで急になったんだろう

385:デフォルトの名無しさん
17/02/18 13:34:37.67 sYCIN7Mu.net
1日のMAXが累計1時間だっけか
処理回数が多いか、実行時間が長いんだろうな

386:379
17/02/19 12:34:42.66 I5IVz31O.net
1日止めて何も変えずトリガー元に戻しましたが、今のところ問題無し
数は減らしましたがペースは変えず

387:デフォルトの名無しさん
17/02/27 17:20:09.61 D6mIqUvN.net
Spreadsheetで行の非表示/表示はsheet.hideRow(rowIndex)/sheet.unhideRow(rowIndex)ですが、
ある行が非表示であるかどうかはどのように確認できますか?

388:デフォルトの名無しさん
17/03/02 18:37:21.00 ZV5SMkF2.net
visible

389:デフォルトの名無しさん
17/03/09 00:32:07.05 JhFIW3VD.net
>>388
ありがとうございます。それってどのクラスから生えてますか?
一応、下のようになってみましたができませんでした。
sheet.getRange(1, 1).visible

390:デフォルトの名無しさん
17/03/09 00:45:24.51 9+K5Dr1K.net
Visible

391:デフォルトの名無しさん
17/03/10 02:53:31.23 +YP/FacC.net
URLリンク(code.google.com)
これがOpen issueってことはサポートされてないんでは?

392:デフォルトの名無しさん
17/03/11 14:16:44.62 QRqRtZxP.net
>>391
ありがとうございます。確かにそのページによるとサポートされてなさそうですね。
stackoverflowでいくつかの同様な質問を見つけましたが、できない的なことが書かれてました。
visibleの件ももう少し調べてみて、できそうになかったら諦めます。

393:デフォルトの名無しさん
17/03/26 23:38:49.69 bKMbQXbX.net
var triggerUniqueId = ScriptApp.newTrigger("doPost2")
.timeBased()
.after(100)
.create()
.getUniqueId();
これを実行すると以下の3パターンの動作になるのだがなんとかならないかな?
・すぐにdoPost2に飛んでくる
・数秒~数十秒後にdoPost2に飛んでくる
・どんだけ待とうがdoPost2に飛んでこない(何分か待ってれば飛んでくるのか?)
ちなみに飛んでこなかった場合は全てのトリガを削除してからやり直してる。

394:390
17/03/27 00:25:00.99 0WjH3gBI.net
微妙に勘違いされそうな書き方だったので追記
doPost2に飛んできたときはその中でトリガを削除しているので
「飛んでこなかった場合は全てのトリガを削除してからやり直してる。」ということです。

395:デフォルトの名無しさん
17/03/27 01:50:47.06 R2ENwT8H.net
100ms後にdoPost2に飛ばしたいってこと?
最終的になにがしたいかわからん
そのidでなにすんの?

396:デフォルトの名無しさん
17/03/27 07:58:56.68 7fg5PAil.net
PayPal IPNの処理が目的です。

397:デフォルトの名無しさん
17/03/27 08:47:26.49 VebtMPKj.net
目先の目的は「指定した時間後にdoPost2を実行したい」です。
100msが1秒になるにはまだ許容範囲ですが、
さすがに数十秒後やかなり待っても飛んでこないのはなにか設定がおかしいのかなと。

398:デフォルトの名無しさん
17/03/27 20:46:24.21 2rEhsR/n.net
トリガーをつくるのではなく、Utilities.sleepじゃダメ?

399:デフォルトの名無しさん
17/03/27 23:05:58.94 8SS48vh4.net
大雑把に以下のような流れになるのでsleepでは無理っす。
1, PayPalからPOSTがくる
2, PayPalにHTTP 200を返す
3, PayPalにPOSTを投げる
URLリンク(developer.paypal.com)
function doPost(e) {
 トリガ仕掛ける
 HTTP 200を返す
}
function doPost2() {
 POSTを投げる
}
いろいろ試したけど60秒とか大きな値ならそれっぽいタイミングでトリガがかかるみたい。
短すぎる設定時間はダメなのかなぁ。

400:デフォルトの名無しさん
17/03/28 08:44:43.71 o5IlqyIy.net
トリガの指定って分単位だった気がする
内部的にcronだから
○時ちょうどにトリガー仕掛けたくて試したけど無理で、59分にしかけて00秒まで待つって実装にしたことがある
非同期処理ができないから難しいかも
秒数は一定じゃないから、1分後にトリガー設定しても最大1分59秒後になることもある
にしても面倒な仕様だなPaypal

401:デフォルトの名無しさん
17/05/05 06:31:43.18 SiZHVQw5.net
VBAのCall ステートメントは、Google Apps Scriptの場合どう記述すればいいですか?

402:デフォルトの名無しさん
17/05/05 07:47:20.79 SiZHVQw5.net
自己解決しました。(・ω<) テヘペロ

403:デフォルトの名無しさん
17/05/14 12:32:35.84 jKxGUXHj.net
アクティブシートのカーソルがあるセル(アクティブセル)の行番号を、別のシート(setei)のB1へコピーしたいのですが、
うまく行きません。
5行目のvar copyValue~の値をmsgBoxで出力すると、希望通りの値が出ているので、そこまでは合っていると思うのでが、
6行目で取得した行番号を、別のシートのB1に入れる所で躓いています。解決方法を教えて頂けないでしょうか?
function myFunction() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet();
 var sheet_copyFrom = sheet.getActiveSheet();
 var sheet_copyTo = sheet.getSheetByName('setei');
 var copyValue = sheet_copyFrom.getActiveCell().getRow();
 sheet_copyTo.getRange('B1').setValues(copyValue);
}

404:デフォルトの名無しさん
17/05/14 13:22:55.89 v32VfkzT.net
行番号をコピーするの?アクティブセルの値じゃなくて?

405:デフォルトの名無しさん
17/05/14 13:30:26.13 v32VfkzT.net
sheet_copyTo.getRange('B1').setValue(copyValue);

406:デフォルトの名無しさん
17/05/14 15:17:11.71 jKxGUXHj.net
>>404-405
希望どうりのことができました。ありがとうございます!
スペルが間違っていたとは・・

407:デフォルトの名無しさん
17/05/21 21:07:56.13 UO8/oZl+.net
質問です。
スプレッドシートのシートを並び替えることはできますか?
セル範囲のデータならSORTでできることは知っているのですが、シートには使えませんよね。
日付がシート名になってて、それを昇順に並び替えしたいのです。
よろしくお願いします。

408:デフォルトの名無しさん
17/05/22 08:08:37.50 Bx+b+qt8.net
出来ないことはなだろうが面倒くさいし、丸投げならお断り。

409:デフォルトの名無しさん
17/05/22 16:43:39.47 j0GB+9U0.net
IDかわりましたけど404です。
>>408
めんどくさい方法ですけど、一応自分で作ってはみました。
これよりいい方法があるのか、改めてお知恵をお貸しください。
var ss = SpreadsheetApp.openById(file.getId());
var sheets = ss.getSheets();
// シート名(yyyyMMdd形式)で昇順ソート
sheets.sort(function(a, b){
var aa = Number(a.getSheetName()) || a.getSheetName();
var bb = Number(b.getSheetName()) || b.getSheetName();
if (aa < bb) return -1;
if (aa > bb) return 1;
return 0;
});
// 別スプレッドシートにコピー
for (var n in sheets)
{
var sheet = sheets[n];
var sheetName = sheet.getSheetName();
sheet.copyTo(sortedSs).setName(sheetName);
}
同じスプレッドシートでの並べ替えを諦めて、別スプレッドシートにソート済みをコピーしたってだけのものです。

410:デフォルトの名無しさん
17/05/22 22:49:33.07 Bx+b+qt8.net
1.シート数を取得
2.全シート名を配列へ
3.配列をソート array.sort()
4.シートを移動

411:デフォルトの名無しさん
17/05/23 20:48:03.04 RApg7j5+.net
>>410
4. シートを移動
これができなくて悩んでたんですが
SpreadsheetオブジェクトにinsertSheetメソッドやmoveActiveSheetメソッドがありますね。
何とか実装できそうです。
ありがとうございました。

412:デフォルトの名無しさん
17/06/23 10:37:10.09 0OdP20aK.net


413:デフォルトの名無しさん
17/06/25 21:20:03.77 xjvWfy2S.net
getValuesで取得した二次配列の、あるインデックス番号Ary[n][n]から、セル番号を取得するにはどうすれば良いでしょうか?
又、それはAPIを使わず、javaの配列処理の中で完結できるものなのでしょうか?

414:デフォルトの名無しさん
17/06/26 07:20:27.40 POytUkXJ.net
その二次配列はどのセル番号から取得したんだよ。

415:デフォルトの名無しさん
17/06/26 11:16:36.54 H+izVTcm.net
modは義務教育で教えるべきだな

416:デフォルトの名無しさん
17/06/26 15:45:17.47 Zgx9U3+p.net
gasなのかわからないですが、間違いならすみません。
フォームで①郵便番号を入れたら住所の一部を表記させたいのですが、できるのでしょうか?
②特定の数字をいれたら、外部からその数字に該当するデータを引っ張れるでしょうか?(社員コードいれなら社員名がでるイメージです)
誠にすみませんが、可能ならばご教授
おねがいします。
gasはさわったことないので、できそうならば、やってみたいとおもいます。

417:デフォルトの名無しさん
17/06/26 20:44:30.70 iMKCKa0h.net
>>416
1.できます
2.できます
3.ajax

418:デフォルトの名無しさん
17/06/26 21:07:30.37 YNcumjCY.net
>>417
おしえてくださいばっかりでもうしわけありませんが、本当に素人でして。
コードやら参考のURLでもありましたらおねがいします。

419:デフォルトの名無しさん
17/06/26 22:04:28.18 c+BwvDt7.net
うーん、この、ggrks感

420:デフォルトの名無しさん
17/07/05 17:50:45.17 aOT9LPA2.net
/**
* @return ライブラリ名
*/
とやっているのに返り値のメソッド補完が効きません…
何か間違っているでしょうか…

421:デフォルトの名無しさん
17/07/05 18:12:42.59 lervoDRk.net
それ、ただのコメントでは?

422:デフォルトの名無しさん
17/07/05 19:25:23.18 aOT9LPA2.net
>>421
コメント付けると補完が効くようになると聞きました

423:デフォルトの名無しさん
17/07/05 19:46:41.16 lervoDRk.net
波括弧で括ってないからかな?

424:デフォルトの名無しさん
17/07/06 14:10:14.25 flMfxcNT.net
うちはできてる

425:デフォルトの名無しさん
17/07/12 23:56:43.84 zDi+fEh9.net
外部サイトで申し訳ないのですが、GASについて下記のサイトのチュートリアルを試していたのですが
URLリンク(tonari-it.com)
真似をしてみても、エラー出てしまいます。
getActiveSheet を呼び出す権限がありません(行 2、ファイル「test2」、プロジェクト「HTMLページ表示」)
自分のコードが間違えたのかと、コードをコピペしたり、スクリプト認証を再度許可を出すために
現在とは別にファイルを作り直したりしたのですが、同じエラーが出てしまいます。
このエラーを回避するにはどうすれば良いでしょうか?

426:デフォルトの名無しさん
17/07/13 13:23:39.30 G6DCMcFU.net
よそから持ってきたライブラリを使ってないか

427:422
17/07/13 13:30:04.56 7vUNc/rI.net
すみません自己解決しました。
原因はスクリプトにプロジェクトのトリガーを設定していなかったことが原因だった様です。
公開済みのHTMLなのでアクセスすれば良いだけでなのに、なんでや!と思っていたのですが、
googleのwebアプリの場合、公開時にアサインされるHTMLへのリンクは、実はHTMLへのリンクではなく、
リンク > Ajax > .gs > html という流れらしく(たぶん)
3番目の.gsにトリガーが設定されてないとダメという感じの様です。なので.gsのトリガー設定した所動きました。
[設定したトリガー]
実行:doGet
イベント:スプレッドシートから・起動時に設定
このトリガー自体適当に設定したので、spreadsheetに紐付いた(コンテナバウンド)webアプリがこのトリガーで本当に良いのか?
.gsがスタンドアローンだったらどうするのか?などは自分の知識ではまだ不明です。
割と有名(みんなが引っかかる)ワナらしく、「GAS 実行する権限がありません」でググると色々出てきます。

428:デフォルトの名無しさん
17/07/13 14:07:47.08 G6DCMcFU.net
そんなことはチュートリアルの一番最初に書いてある

429:デフォルトの名無しさん
17/09/26 05:38:02.61 uiCOOs0C.net
ぐぐってきたけど、ここそんなに人気ないの?

430:デフォルトの名無しさん
17/09/26 15:54:12.38 dGip1y4C.net


431:デフォルトの名無しさん
17/09/26 19:33:58.52 vmZLMK5C.net
すみませんが質問させてください。
現在、google appsのみで簡易ウェブアプリの制作を試みています。
構成は
htmlservice+gas+spredseet(DB)
です。
各種申請をweb化するのですが、アクセスしたユーザーのgmailアドレスもDBに格納します。
session.getactiveuser().getemailを利用するため、スクリプトの実行者は「アプリケーションアクセスしているユーザー」にしています。
そうすると、spreadsheetも全員に公開する必要がありますが、spreadsheetの中身は個人情報を少し含むため見られたくありません。
なにかいい方法はありますでしょうか、、、fusiontablesなどであればできるのでしょうか?

432:デフォルトの名無しさん
17/09/26 19:49:32.88 pQJJ1OIB.net
ユーザーごとの情報はユーザープロパティに入れるべきでは?

433:デフォルトの名無しさん
17/09/27 13:03:25.12 Is6BRq5M.net
>>432
ご助言ありがとうございます。
propaties serviceについて調べた見ましたが、ユーザープロパティとして保存した場合、他のユーザーからは一切アクセスできないものと思いました。
一部のユーザー(システム管理を行う数名)に対しては、データの参照ができるようにしたいと思ったおります(申請されたデータを承認するようなワークフローアプリを検討しているため。後出して申し訳ありません)

434:デフォルトの名無しさん
17/09/27 14:45:10.73 /heCrwKp.net
サイズが十分小さければスクリプトプロパティかな。
たしか500KBくらいまで。
あるいは、スプレッドシートにスクリプトを付属させるんじゃなく、
独立プロジェクトにして、openByIdとかopenByUrlとかは?

435:デフォルトの名無しさん
17/09/27 15:36:25.01 Is6BRq5M.net
>>434
ご助言ありがとうございます。
プロパティについては、思いの外データの種類が増えそうなため難しそうです。
スクリプトをスタンドアロンにして、openbyidがいいですかね、万一idがバレてしまった時のことが不安ですが、そういったことは起こらないと思っていい感じでしょうか。

436:デフォルトの名無しさん
17/09/28 10:38:02.39 PJxaABWy.net
アプリを分けて階層化しろ

437:デフォルトの名無しさん
17/09/29 01:18:28.86 tHWOJPZ9.net
for (var i = 1; i <= ss.getLastRow() ; i++){
ss.getRange(x,y).setFormula('=IMPORTHTML("URLリンク(www.yahoo.co.jp","table"1+i,)');
}
for分の中で関数の最後の部分を1ずつ足していきたいのですが、セルに出力された際は「i」の部分は数字としては見てくれません。
1つずつ足していく方法はありますでしょうか。

438:デフォルトの名無しさん
17/09/29 08:18:30.31 qX48jByc.net
>>436
ありがとうございます。
ライブラリ化するということでしょうか。
getEmailする部分を別アプリ(アプリにアクセスしているユーザー実行)にして、spreadsheet操作をするアプリはオーナーとして実行する感じでしょうか。
調べてみます。

439:デフォルトの名無しさん
17/09/29 11:06:26.65 /1pN5XFr.net
>>435
>そういったことは起こらないと思っていい感じでしょうか
マーフィーの法則というのがあってだな
そういう起こって欲しくないことは起こるんだ

440:434
17/09/29 11:38:46.26 tHWOJPZ9.net
自己解決しました。
ss.getRange(x,y).setFormula('=IMPORTHTML("yahoo.co.jp","table",1+'+i+')');

441:デフォルトの名無しさん
17/10/27 20:03:28.12 CxLsHkIL.net
googleドライブにアップしたエクセルxlsを自動でspreadsheetに変換するコードはありますか

442:デフォルトの名無しさん
17/10/28 10:08:42.77 w8au0uVc.net
すべてのシートで文字の一括置換をしたいのだけど、セル毎に処理するしかないのかな?

443:デフォルトの名無しさん
17/10/28 11:18:38.62 YrbVG7kU.net
>>441
pythonでダウソするやつはある

444:438
17/10/28 19:55:11.76 aeUdpVUN.net
>>443
検索してなんとなくできそうなのでやってみます
ありがとうございました

445:デフォルトの名無しさん
17/11/12 02:54:44.20 StX7DGK4.net
GAS単体でajaxのようなwebページをクローリングすることは可能ですか?
やっぱり外部を通さないと無理でしょうか

446:デフォルトの名無しさん
17/11/12 17:25:52.88 StX7DGK4.net
自己解決しました

447:デフォルトの名無しさん
17/11/13 13:04:40.18 8/cIJ70S.net
スプレッドシートの制御をAndroidから行う方法をご教示頂けませんでしょうか。
内容としては複数列のソートを行いたいのです。
現状は列指定でソートをかけているのですが、列数が多く余分な時間がかかります。
PCからは実行できているのですが、同様の事がAndroid上から行えたらと思います。
実行用のトリガーがAndroidで使用できずに困っております。
現状トリガーは図形に対してスクリプト実行させていますが、タップしてもAndroidでは削除しか出てきません。

448:デフォルトの名無しさん
17/11/14 18:34:16.47 IvDpdEfa.net
function onOpen()とmenuEntries.push使えば?

449:デフォルトの名無しさん
17/12/26 09:12:50.22 myEYxvrC.net
URLリンク(script.google.com)
↑にあるトリガーの合計実行時間や、URLFetch の呼び出し、URLFetch のデータの受信が
現在どのくらい使用されている分かるページは無いですか?
URLリンク(console.developers.google.com)
GoogleドライブAPIなら↑でわかるのにそれ以外載って無くて…

450:デフォルトの名無しさん
18/01/03 23:47:48.36 cEXvj/Pp.net
サーバー側でjqueryって使えますか?
WebスクレイピングのHTMLパーサとしてjqueryを使いたいのですが…

451:デフォルトの名無しさん
18/01/04 12:56:13.15 o7CttU7P.net
node.jsと思ったがGASか

452:デフォルトの名無しさん
18/01/05 01:26:13.05 GBYhvW0R.net
>>450
npmでjQueryをinstall
webpackでbundle
node-google-apps-scriptでアップロード
って感じでいけないかな?
試してないのでできるか分からないけど

453:デフォルトの名無しさん
18/01/05 10:44:01.68 Vef7Ikrv.net
一部の機能なら普通に使える

454:デフォルトの名無しさん
18/01/06 11:51:13.98 HbY4/bGY.net
どっかよそのAPI使うとか

455:デフォルトの名無しさん
18/01/07 11:57:20.99 ez3NxZhX.net
Googleドライブにあるスプレッドシートを
JSONファイルを返すウェブアプリケーションとして使ってるんだが
JSONデータがブラウザにキャッシュされなくて困っている
cache-control:no-cache
pragma:no-cache
expires:Mon, 01 Jan 1990 00:00:00 GMT
というhttpヘッダを返してきてキャッシュさせてくれないんだが、
このヘッダを書き換える方法は無いか?
一ヵ月に1度、2度くらいしか更新されないデータだが、毎日頻繁に参照されるもので
データが1.4MBデカい為、変更されたときだけ読み込むようにヘッダを書き換えたい

456:デフォルトの名無しさん
18/01/07 12:29:16.75 S38kpWyE.net
キャッシュされたら困るからなー

457:デフォルトの名無しさん
18/01/13 02:09:46.21 Tg/TmElT.net
>>450
こないだ同じような用途でjsdomとjquery使ったわ。
たしかこんなかんじ
var JSDOM = require('jsdom').JSDOM;
JSDOM.fromUrl('URLリンク(example.com)').then(function(dom) {
var window = dom.window;
var jQuery = $ = require('jquery')(window);
// ここから$('ul#hoge > li.huga')とか普通に使えるはず
});

458:デフォルトの名無しさん
18/01/27 11:48:39.68 j3glEAxX.net
色々出すぎ
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)

459:デフォルトの名無しさん
18/01/28 03:46:39.25 xa+QRUJO.net
GASって「const 定数名 = 1;」 みたいな記述できない?
varしか無理?

460:デフォルトの名無しさん
18/01/29 23:20:08.61 5eR4vC6L.net
constはランタイムエラー
letは通る
だったような記憶

461:デフォルトの名無しさん
18/02/06 22:16:05.06 /gHduiD+.net
addMenuでスプレッドシートに追加する独自メニューを条件によって選択不可にすることはできますか?
通常のメニューと同じようにグレーアウトして選択できないようにしたいです。

462:デフォルトの名無しさん
18/02/10 06:53:00.00 C1kfYYFU.net
1日1回、UrlFetchでページネイションされた数十ページを取得したいのですが
負荷軽減のため数秒は間隔を明けて取得したいです
settimeoutでエラーがでるのは、GASでは使えないということなのでしょうか?
出来ないとしたら代替方法の検索のヒントなどを教えていただきたいです

463:デフォルトの名無しさん
18/02/11 06:27:45.78 E5AjV+At.net
GASってひょっとしてfor(let data of datas)みたいな構文は通らないのか?

464:デフォルトの名無しさん
18/02/11 06:46:30.86 E5AjV+At.net
for each(let data in datas)は通った
GASまじか・・・

465:デフォルトの名無しさん
18/02/13 22:38:42.10 wCW429If.net
>>462
setTimeoutはブラウザでしか効かないんじゃ
Utilities.sleep(ミリ秒)使おう

466:デフォルトの名無しさん
18/02/13 22:39:52.24 wCW429If.net
>>461
非表示じゃダメなの?

467:デフォルトの名無しさん
18/02/14 06:29:23.38 hdXXEhGY.net
>>465
ありがとうございます

468:デフォルトの名無しさん
18/02/14 12:43:37.10 qm6gWFGH.net
>>463
>>464
良し悪しはわからないけど
for (var n in datas) {
var data = datas[n];
...
}
とかしてた

469:デフォルトの名無しさん
18/02/14 16:40:58.15 rMSOrK/H.net
datum

470:デフォルトの名無しさん
18/02/16 06:23:37.77 W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

471:デフォルトの名無しさん
18/04/06 09:46:20.39 OGpTmhME.net
すみません、ちょっとお門違いなんですが、
Microsoft系でGoogle Apps Scriptに相当するようなサービスって何でしょうか?

472:デフォルトの名無しさん
18/04/06 12:08:48.32 sTfZcU1Y.net
OneDrive

473:デフォルトの名無しさん
18/04/08 08:48:02.53 ExM2Rgcj.net
officeアドイン(javascript api)

474:デフォルトの名無しさん
18/04/08 09:35:01.80 iYd8ya2H.net
vba
excelだけじゃなく、officeは全部使える

475:デフォルトの名無しさん
18/04/08 11:45:51.95 YK+KPtHu.net
Python for Excel

476:デフォルトの名無しさん
18/04/08 12:44:04.55 x+tHn1VY.net
Google Spreasheetみたいにクラウドに置いたときに、
定期的に動かしたり、Webアプリとして呼び出せたりするんでしょうか?

477:デフォルトの名無しさん
18/04/27 08:48:50.80 azia2EcY.net
共有スプレッドシートで自分だけのスクリプトを動かすことができますか?

478:デフォルトの名無しさん
18/04/27 12:00:12.58 DjfFcydV.net
できる

479:デフォルトの名無しさん
18/04/27 12:30:17.67 309OLMv4.net
>>478
どうやればできますか?

480:デフォルトの名無しさん
18/04/27 14:10:43.72 ouRrzssA.net
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
スレリンク(liveplus板)

481:デフォルトの名無しさん
18/04/27 17:49:08.26 ash3pEtl.net
>>479
多分このスレの上の方に書いてある

482:デフォルトの名無しさん
18/04/30 09:57:45.45 OTdR2Ule.net
スプレッドシートでハイパーリンクになっていないセルの、テキストとURL取得するには、どうすれば良いですか?

483:デフォルトの名無しさん
18/04/30 21:10:05.12 k1zO9vV2.net
>>482
ハイパーリンクになってないならできない
そもそもセルにurlがvalueとして入力されてるなら別だが

484:デフォルトの名無しさん
18/05/13 17:28:07.61 T6Bs0Y7u.net
しょうもない質問ですが職場などで何て呼んでるでしょうか
ジーエーエス?
グーグルアップス?
こないだガスって言ってる人がいて自分の職場では全く統一されていないです

485:デフォルトの名無しさん
18/05/13 20:20:04.93 j+nJMGjP.net
>>484
ガスって呼んでる
??ってなる人には「Google Apps Scriptの略」って付け加える

486:デフォルトの名無しさん
18/05/14 12:07:03.70 2SPouDsA.net
>>485
ありがとうございます
ガスが一般的なんですかね

487:デフォルトの名無しさん
18/05/14 13:31:22.77 dnGRWxRE.net
>>484
ぎゃす

488:デフォルトの名無しさん
18/05/23 19:22:31.65 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
WX5I9

489:デフォルトの名無しさん
18/05/24 10:41:34.45 cPlRxlDn.net
WX5I9

490:デフォルトの名無しさん
18/05/25 01:08:25.88 9upiSQGW.net
<HEAD>タグの中に文字コードの設定<meta charset= がある場合は、文字コードを抜き出すプログラムを組んでいます。(下記の関数)

function getEntag(response){
var myRegexp = /<HEAD>([\s\S]*)<\/HEAD>/gi;
var elems = response.getContentText().match(myRegexp);
var myEncode = /<meta charset="(.+?)">/gi;
var myEncodeR = elems.getContentText().match(myEncode); // ←この行でエラーが出る
return myEncodeR;
}

エラーの内容
TypeError: オブジェクト「文字列文字列文字列文字列文字列」で関数 getContentText が見つかりません。

なぜ
response.getContentText().match(myRegexp);
はうまくいくのに
var myEncodeR = elems.getContentText().match(myEncode);
はうまくいかないのでしょうか?

491:デフォルトの名無しさん
18/05/25 03:33:33.31 JRXZZDGl.net
elems[0]

492:デフォルトの名無しさん
18/05/25 08:23:06.06 GbGPTGD4.net
GASでpdfを作成したいと思い
サイトを参考に出せるようになったのですが
余白の設定オプションを教えていただけないでしょうか?
exportFormat: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
format: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
size: "A4", // 用紙サイズの指定 legal / letter / A4
portrait: "true", // true → 縦向き、false → 横向き
fitw: "true", // 幅を用紙に合わせるか
sheetnames: "false", // シート名をPDF上部に表示するか
printtitle: "false", // スプレッドシート名をPDF上部に表示するか
pagenumbers: "false", // ページ番号の有無
gridlines: "false", // グリッドラインの表示有無
fzr: "false", // 固定行の表示有無
ここら辺のオプションワードをつけてGoogle検索して見たのですが見つからないでいます
よろしくおねがいいたします

493:デフォルトの名無しさん
18/05/25 09:48:46.51 JEsKWWiQ.net
google apps script pdf margin
でググったらstackoverflowとかヒットするけど見てみた?
俺は見てないけど。

494:デフォルトの名無しさん
18/05/25 13:10:56.83 zfLEVsZm.net
日々の記録をgoogle apps script で記録してたんだが1ヶ月忙しくて
記録の確認してなかったら先月4月26日以降の記録が取れてなかった
プロジェクトを動かすと「承認が必要です」で前もやったことがあるような
画面がでて一つ一つのプロジェクトを自動実行させるために承認設定をした
100ぐらいプロジェクトがあるんだが一つ一つを手作業で承認させるのが
大変だし前もこんなことをさせられた記憶があるんだが
承認を一回で全てのプロジェクトを設定する方法とかないですかね?

495:デフォルトの名無しさん
18/05/25 16:14:05.22 XO9fqtgP.net
っていうかしばらくしたらまた承認求められそうでこわいな

496:デフォルトの名無しさん
18/05/26 08:10:21.44 hhovu7qg.net
>>493
ありがとうございます
設定することができました!

497:デフォルトの名無しさん
18/05/27 18:16:43.31 AVKJ/EkR.net
google apps scriptでLZHを解凍したいと思っています。
以下のどちらかのコードはGASでも使用可能でしょうか?
又は、ほかに何か良い方法があるでしょうか?
URLリンク(github.com)
URLリンク(formats.kaitai.io)
現在1つのテキストファイルが圧縮されたzipのblobを、
Utilities.unzip
で解凍し、中のテキストファイルを利用しているのですが、
LZHでも同じ事ができるようにしたいと考えています。
上記ページのサンプルは見たのですが、
DOMが全く分からず、javascriptの理解も浅いため、
どう書けばよいのかわかりませんでした。
LZHのblobから解凍されたファイルのblobが得られれば理想的です。
アドバイスお願いしますm(_ _)m

498:デフォルトの名無しさん
18/06/01 18:16:54.34 zHSboa0n.net
質問です
色んなサイトを見ながら、Google spread sheetにスクリプトを作成しました
このスクリプトを外部アプリから実行するにはどうすれば良いのでしょうか。
ちなみに外部アプリとはDiscordの事です。

499:デフォルトの名無しさん
18/06/01 18:21:14.88 Wbxpqrec.net
オレオレAPIをくっ付ける

500:デフォルトの名無しさん
18/06/01 19:56:50.22 rK/pkJ29.net
>>499
ありがとうございます。オレオレAPIは聞いた事無いですが調べてみます。

501:デフォルトの名無しさん
18/06/01 21:11:40.39 xvkHhoxN.net
doGetかdoPost作ってHTTPで呼べばいいじゃない

502:デフォルトの名無しさん
18/06/02 12:34:27.24 yUEJ+BJS.net
djangoみたいなdispatcherとかroutingの仕組みないかな

503:デフォルトの名無しさん
18/06/13 21:43:33.53 KouNon+v.net
お手軽WebAPI作るときデバッグどうしてる?
デバッグ用URLではHTTPリクエスト受け付けてくれないでしょ?
リリース用URLじゃLogger使えないし
コード変えてバージョン上げずに更新しても変更反映してないから
バージョンだけが無駄に上がってく
いい方法教えてください

504:デフォルトの名無しさん
18/06/14 09:56:45.68 b+x6hMO7.net
デバッグ用のアカウント作って
そっちからアクセスしたらデバッグモードで動くように作る

505:デフォルトの名無しさん
18/06/15 20:11:23.83 EMcl4RB2.net
> そっからアクセスしたら
これは別アカに共有かけてそっちで開発し
リリース段階で本アカで更新ってこと?

506:デフォルトの名無しさん
18/06/16 06:04:47.49 xpvZKcIC.net
へ?
デバッグするときのクライアントのアカウントだよ

507:デフォルトの名無しさん
18/07/04 22:17:45.27 gFgZc5FG.net
PYT

508:デフォルトの名無しさん
18/07/05 12:09:59.99 6iN0hdr0.net
なんだこいつ

509:デフォルトの名無しさん
18/07/09 17:33:54.99 se1rYzUR.net
スプレットシートの中身をWEB経由でJSON形式で出力しているんだが
↓のようにリダイレクトされるんだが、このリダイレクトを抑止する方法ないか?
URLリンク(script.google.com)

URLリンク(script.googleusercontent.com)

URLリンク(script.googleusercontent.com)~の方に直接飛んでも
何故か、一旦URLリンク(script.google.com)にリダイレクトされてからまたリダイレクトされるし…

510:デフォルトの名無しさん
18/07/09 18:11:50.09 1p1eFn95.net
503

511:デフォルトの名無しさん
18/07/09 18:18:12.92 kTTsYOtx.net
301 or 302

512:デフォルトの名無しさん
18/07/22 00:26:34.52 ZpQQ0pAE.net
spreadsheetのgasについて質問です。
getLastColumnの仕様は、値が入ってる最終列を返すのでしょうか?
値が入っていない列を返すときもあって混乱してます。
あと、insertSheetの直後にgetLastColumnを呼び出すと0が返ってくるのですが、このとき、存在する最終列を取得する方法はないでしょうか。
このとき取得したい期待値はZ列の26です。(画面上Z列までセルが有効になっているように見えるため)
これは26って固定値をもつのが気分的にいやっていうワガママです

513:デフォルトの名無しさん
18/07/22 00:55:09.31 ZpQQ0pAE.net
getMaxColumnsってのがあった(>_<)

514:デフォルトの名無しさん
18/09/29 19:38:05.42 LLxAt+HQ.net
GASの勉強は本とサイトどっちがいいですか?
おすすめとかあったら教えて欲しいです

515:デフォルトの名無しさん
18/09/29 20:16:29.09 8vdhvdxP.net
【報道規制の、解禁を】 マⅰトレーヤのUFO出現
スレリンク(sky板)

516:デフォルトの名無しさん
18/09/30 11:25:49.99 ELKSxw7h.net
ここまで読みました

517:デフォルトの名無しさん
18/09/30 13:18:42.33 XFe1Q8VS.net
>>514
教えてください

518:デフォルトの名無しさん
18/10/01 00:18:27.39 IPuEyzUl.net
>>514
俺はWebサイト派
Qiitaあたりの情報で十分に勉強できた

519:デフォルトの名無しさん
18/10/06 02:08:54.46 2uRTZ8KW.net
html
<input type="button" onclick="google.script.run.aa()">
コード.gas
function aa(){
var value = document.getElementById("ta").value;
}
こんな感じでgas側でgetElement使いたいんだけど方法ないかな?
html側に書けばできるけどスクリプトをまとめてgas側に書いてスッキリさせたい
これだとvalueになにも入らないっぽい
ないならあきらめるが

520:デフォルトの名無しさん
18/10/06 10:06:26.13 QZvBbzw3.net
"ta"だけ渡してあとは好きに汁

521:デフォルトの名無しさん
18/10/06 23:57:43.46 MQLlRsEJ.net
gas側でDOMは触れないですよ

522:デフォルトの名無しさん
18/10/09 21:03:41.76 J1hD0LSr.net
Google apps scriptで図書館のホームページにログインしたいのですが、できません。
どうすればログインできるのでしょうか?
function myFunction() {
var payload = {
"username" : "XXXXXXXXXX",
"j_password" : "XXXXXXX",
}
var options = {
"method" : "POST",
"payload" : payload,
"followRedirects" : false
}
var url = "URLリンク(opac.toshokan.city.fukuoka.lg.jp)
var response = UrlFetchApp.fetch(url, options);
var cookies = response.getHeaders()["Set-Cookie"];
var headers = { 'Cookie' : cookies };
options = {
method : "get",
headers : headers,
followRedirects: true,
};
var topUrl = "URLリンク(opac.toshokan.city.fukuoka.lg.jp)
response = UrlFetchApp.fetch(topUrl, options);
var content = response.getContentText("UTF-8");
Logger.log(content)
}

523:デフォルトの名無しさん
18/10/11 19:13:50.65 KKlTShrO.net
driveにあるmp3ファイルに画像を貼り付けて、mp4にする。それをフォトに保存するscriptって作れますか?
可能であれば教えて頂けると幸いです。

524:デフォルトの名無しさん
18/10/12 05:14:25.86 1iFt3dhJ.net
できますよ

525:デフォルトの名無しさん
18/10/12 07:52:54.61 C1pVYns8.net
>>522
ブラウザの自動操作は、iMacros, Selenium IDE とか、
Ruby で、Selenium Webdriver を使うとか

526:522
18/10/12 09:19:01.30 C1pVYns8.net
>>522
Ruby で、Selenium Webdriver では、
CSS セレクターで、入力欄を指定して、入力する。
入力できたら、ログインボタンを押す
element = driver.find_element(:css, 'input[name="userid"]')
element.clear
element.send_key "xxxxxx"
element = driver.find_element(:css, 'input[name="password"]')
element.clear
element.send_key "yyyyyy"
driver.find_element(:css, 'a.btn').click

527:デフォルトの名無しさん
18/10/14 21:11:05.91 Qblq+S/g.net
>>526
ありがとう
ただ、できればgasでしたいのよね

528:522
18/10/14 23:38:23.09 hWarSIQ5.net
>>522
のコードには、以下のように、
CSS セレクターで、入力欄を指定して、入力する部分を表示がないよね
element = driver.find_element(:css, 'input[name="userid"]')
element.clear
element.send_key "xxxxxx"
また、以下のように、
CSS セレクターで、ボタンを指定して、押す部分もないよね
driver.find_element(:css, 'a.btn').click

529:522
18/10/14 23:40:22.51 hWarSIQ5.net
>>528
修正
>CSS セレクターで、入力欄を指定して、入力する部分を表示がないよね
CSS セレクターで、入力欄を指定して、入力する部分がないよね

530:デフォルトの名無しさん
18/10/19 01:04:33.18 IuczYWmH.net
excelマクロをきっかけにVBA勉強してて結構楽しかったから、GASもやってみようと思う
VBAとGASの習熟の難易度で、どっちが難しいとかある?
スプレッドシートは便利そうで興味あるんだけど、マクロ使えないのが自分の中で枷になっててね
興味沸いてる

531:デフォルトの名無しさん
18/10/19 03:41:20.06 xKxj3Rj7.net
javascriptなんでやって損はないぞ

532:デフォルトの名無しさん
18/10/19 08:16:54.08 GydxY9Hg.net
カレンダーを検索したり編集したりできますか?

533:デフォルトの名無しさん
18/10/19 12:11:04.45 jQ8EJjtV.net
gasの方が簡単
pythonからも出来るよ

534:デフォルトの名無しさん
18/10/20 01:56:59.75 cKgpkxwO.net
スプレッドシートにもマクロ機能ついてた気がする。

535:デフォルトの名無しさん
18/10/23 00:29:05.49 JwGBt6eq.net
GASの本スレってここ?
もっと情報交流したいよう(´・ω・`)

536:デフォルトの名無しさん
18/10/23 14:24:33.23 yFsvvFWj.net
交換じゃなくて一方通行のスレ

537:デフォルトの名無しさん
18/10/23 16:20:43.87 fX6+Gv53.net
APIは本家でRTFMだしなあ
便利なライブラリとか開発環境とか教えてくれれば交流になるかも

538:デフォルトの名無しさん
18/10/23 20:39:33.94 mSpmNxQX.net
claspの話でもしようぜ

539:デフォルトの名無しさん
18/10/24 20:01:07.64 GW9EQyzD.net
VBAと同じ感覚でGAS勉強して職場で軽く披露してみたけど、思いのほか抵抗感強くて焦った
上司がセキュリティおじさんで困ったちゃん

540:デフォルトの名無しさん
18/10/24 23:39:10.32 yiYSryh5.net
上司が正しい

541:デフォルトの名無しさん
18/10/26 12:21:46.80 sU5wuxUl.net
>>539
業種や職種によるが、うちなら完全アウト。

542:デフォルトの名無しさん
18/10/26 13:19:49.44 xb+RGQ0c.net
上場会社とかになるとそれくらい情報の取り扱いが厳しくなるのかな
こっちは100人ぽっちの中小だから想像できないわ

543:デフォルトの名無しさん
18/10/26 16:46:23.98 8hqqerJ0.net
上場は隔離

544:デフォルトの名無しさん
18/10/26 19:22:56.70 ZfJ/Stj8.net
Googleがお洩らしするからでしょ。

545:デフォルトの名無しさん
18/10/26 22:40:04.49 THXYApLL.net
会社としてgsuite導入してるとこならどんどん使って良い
てかそんな会社があったら自分が入りたい

546:デフォルトの名無しさん
18/10/26 23:57:14.18 IDCNATjR.net
>>539だけど、Googleでもセキュリティの心配されるんだね
過剰にセキュリティに拘って便利なツールを使わないのはどうなんだろう
海外の企業とかどうしてんの?

547:デフォルトの名無しさん
18/10/27 00:07:34.80 B9LZkkMM.net
セキュリティというか保守的な日本企業はクラウドが嫌いって話

548:デフォルトの名無しさん
18/10/27 00:32:34.74 QkHwtfgJ.net
googleなんて危険の筆頭だろ

549:デフォルトの名無しさん
18/10/27 00:35:10.36 5J0lMEEl.net
技術的な事は分からんが
>>547が言ってるのは>>548みたいな人の事か?

550:デフォルトの名無しさん
18/10/27 00:54:46.00 QkHwtfgJ.net
個人的には嫌ってないよ
大事なものは暗号化してからうp汁

551:デフォルトの名無しさん
18/10/27 02:09:59.56 zu36BJom.net
大事なものを暗号化してメールで送るのはいいけど
そのパスワードを次のメールで送る日本企業

552:デフォルトの名無しさん
18/10/27 03:00:25.65 g1pi9PrZ.net
それを得意げに語る上司もセットで
マジであれはなんなんだ
社会に出て驚いた事ベスト3に入る程の衝撃だったわ

553:デフォルトの名無しさん
18/10/27 11:57:29.17 R2aCZi1a.net
>>551
別のメールに別けてるだけマシ

554:デフォルトの名無しさん
18/10/27 15:12:14.87 v0X4VL4w.net
>>551
上の下~中の下ぐらいの企業で常態化してるな
誰が流行らせたのだろうか?

555:デフォルトの名無しさん
18/10/29 03:15:47.62 Oa9CImgn.net
そういう中身の伴わない、見た目を取り繕うだけの作業は今の若者はメチャクチャ嫌う
後輩指導する時に、そんな馬鹿な事はやらなくていいと指示したら、俺が上司に怒られた
じゃあ上司から直接後輩に指導してくださいと言ったら、それはお前の仕事だと逃げる
前の会社の話

556:デフォルトの名無しさん
18/10/29 11:17:29.02 rTl7m6mf.net
>見た目を取り繕うだけの作業
kwsk

557:デフォルトの名無しさん
18/10/29 18:29:21.95 Oa9CImgn.net
>>556
上で言われてた金庫とその鍵を一緒に送るような行為だよ
あとは、excelが警告を出すって理由でcsvファイルのマクロ加工が許されなかったり、その判断基準が分からなかった
会社は中小零細なんかじゃなくて、従業員数百いる中堅企業だったから、入社してから余計に驚いた

558:デフォルトの名無しさん
18/10/30 14:31:07.59 p4LrBCE7.net
社員の偏差値低そう

559:デフォルトの名無しさん
18/10/30 18:21:19.53 aexQ9Irm.net
セキュリティの固さと本人の鍵紛失率は比例だから悩ましいのよね

560:デフォルトの名無しさん
18/11/08 12:09:12.86 EkjzBgW6.net
人いないな

561:デフォルトの名無しさん
18/11/15 11:08:41.99 PvDTioib.net
質問いいですか?

562:デフォルトの名無しさん
18/11/15 11:10:59.21 1bc0l4Fz.net
たぶん

563:デフォルトの名無しさん
18/11/15 19:19:33.65 PvDTioib.net
ちょっと待ってくださいね

564:デフォルトの名無しさん
18/11/16 00:29:03.17 r0xHlJjv.net
次の方どうぞ

565:デフォルトの名無しさん
18/11/16 10:59:11.72 9iOixtPe.net
二島返還と四島返還はどちらが良いですか

566:デフォルトの名無しさん
18/11/16 11:33:55.39 13Ic4Jcn.net
>>565
こちらの処方箋を薬局にお持ちください。
次の方~

567:デフォルトの名無しさん
18/11/16 12:30:48.55 24hcK0zy.net
スプレッドシートのセルの条件で書式を変えるやつなんですけど
セルの保護を付けたり解除したりで背景色を変えることってできますか?

568:デフォルトの名無しさん
18/11/17 01:59:09.69 chEbFNdB.net
>>567
それをgasでやるんだよ
条件書式じゃできない

569:デフォルトの名無しさん
18/11/17 02:52:29.77 iwPEBhZD.net
セルの保護ってスクリプトでできたっけ?
調べてもできなかった記憶

570:デフォルトの名無しさん
18/11/17 07:24:14.01 7mXoRMgv.net
セルが保護されてるか確認するコマンド?がわからないんです
それのtrueかfalseでなんとかなりそうなんですが

571:デフォルトの名無しさん
18/12/02 19:57:23.72 rfLR8sju.net
>>569
できますお
URLリンク(developers.google.com)

572:デフォルトの名無しさん
18/12/02 20:00:16.84 rfLR8sju.net
>>551
しかも、自動で送ってんだよね。
通信の保護はSSLでやってんだから、ファイルのご送信保護にはなってないね。
まるで意味がない

573:デフォルトの名無しさん
18/12/02 20:10:18.07 rfLR8sju.net
>>471
ない。
あるように思えるGraph APIはあくまでもREST APIだから、別途土台になる環境が必要

574:デフォルトの名無しさん
18/12/02 20:16:19.12 rfLR8sju.net
>>509
じゃ、Apps Script APIでも使えばいいじゃん

575:デフォルトの名無しさん
18/12/13 20:08:03.86 XOkEi3bk.net
GoでGraphQL(GAE)
URLリンク(outcrawl.com)
URLリンク(qiita.com)
URLリンク(tech.mercari.com)
URLリンク(github.com)
>まず個人的な理由から。 筆者はGoogle App Engine/Standard Environmentの信者であり、
>それ以外のプラットフォームを使う気は今の所ありません。
いま日本企業で一番、エンジニアの採用に力入れまくってる
最先端ベンチャー企業の社員がここまで言い切るってことは
今後はGAE/Go注目かもしれんな

576:デフォルトの名無しさん
19/01/29 00:33:59.60 70mrLSKr.net
HtmlServiceでもalertでもいいのですが、spreadシートを開いている状態で、1時間おきにダイアログを表示させたいのですが時間主導型でトリガーをセットしても、このコンテキストからは呼び出せないとエラーが出ます。
何かいい回避策はないでしょうか?

577:デフォルトの名無しさん
19/01/29 15:21:21.69 13bkThSC.net
URL経由する

578:デフォルトの名無しさん
19/02/11 11:51:49.34 4YEc3wKR.net
スプレッドシートでマクロ起動させるために図形描画して
スクリプトを割り当てたらもう図形の編集や図形の削除ってできないんですか?
割り当て後は右上のプルダウンメニューがでてこないんです

579:デフォルトの名無しさん
19/02/12 04:27:36.64 orsbZOeu.net
右クリ

580:デフォルトの名無しさん
19/03/06 10:06:07.80 4SRpZFCQ.net
グーグルアップスクリプトはプログラミング初心者におすすめできる

581:デフォルトの名無しさん
19/03/17 12:45:23.95 OqCo+XAc.net
Googleカレンダーに添付ファイルを追加するコード教えて!

582:デフォルトの名無しさん
19/03/17 12:52:04.24 rD0zueCH.net
python用のならあるよ

583:デフォルトの名無しさん
19/03/17 12:56:12.90 pH631X63.net
これとコマンドラインgdriveでいろいろできそう

584:デフォルトの名無しさん
19/03/17 12:59:07.48 rD0zueCH.net
ハゲめ

585:デフォルトの名無しさん
19/03/20 11:14:54.71 vprotu0m.net
内定先がGsuiteなんだけどどう勉強したらいいのかな?

586:デフォルトの名無しさん
19/03/22 14:49:10.46 f+WIg5g9.net
こりゃ問題じゃね
【悲報】Googleマップ、ゼンリンとの契約解除で超絶劣化 ゼンリンも株価暴落 何がしたいんだ両社
スレリンク(news板)

587:デフォルトの名無しさん
19/03/29 18:43:30.56 hWFg3V8b.net
Googleカレンダーに添付ファイルを追加するのは諦めて、HYPERLINKで解決した。

588:デフォルトの名無しさん
19/03/30 21:57:46.29 CwhbRKdW.net
GASではできないんじゃ?
Calendar APIならできるかもよ
調べてないけど

589:デフォルトの名無しさん
19/04/04 23:11:41.43 Wk+4k4Yw.net
GASを使ってnow関数の更新をとめる方法ってないでしょうか?
検索してもまったく出てこないんです


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch