- 運営しているクリエイター
記事一覧
GAS|HTTP ステータスコードを取得する|getResponseCode|fetch|UrlFetchApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 ツイートやその他外部 API 使用などで URL フェッチする際、たまにエラー(例外)が発生して、スクリプトが停止してしまっていました。以下の通りです。 try…catch 構文で、簡単にスクリプトの停止は回避できましたが、HTTP ステータスコードが「522」や「404」などであった場合、エラー(例外)を発生させずに、
GAS|スタックトレースを出力する|Exception|fetch|UrlFetchApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 ツイートやその他外部 API 使用などで URL フェッチする際、たまにエラー(例外)が発生して、スクリプトが停止してしまっていました。以下の通りです。 try…catch 構文でハンドリングした「Exception」オブジェクトから、スタックトレースを出力すると、見やすくて便利です。 例えば、以下のように実装します。
GAS|短時間に作成したカレンダーまたはカレンダーの予定の数が多すぎます。しばらくしてからもう一度お試しください。|createEvent|Calendar|CalendarApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 以下の通り、Google カレンダーへ「コミックス販売日情報」をイベントとして自動登録しているのですが、その実装の過程で、「短時間に作成したカレンダーまたはカレンダーの予定の数が多すぎます。しばらくしてからもう一度お試しください。」というエラーが発生してしまいました。 GAS では、Google カレンダーの使用について
GAS|指定した時刻にトリガーを設定する(誤差 ±15 分)|timeBased|newTrigger|ScriptApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 毎日決められた時分秒に実行しているのではなく、その日の情報量の多さに応じて自動計算し、トリガーを任意時刻に設定しています。以下はその一例です。 // 13:57var date = new Date();date.setHours(13);date.setMinutes(57);// creates the trigge
GAS|ファンクション名からトリガーを削除する|deleteTrigger|getHandlerFunction|Trigger|getProjectTriggers|ScriptApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 毎日決められた時分秒に実行しているのではなく、その日の情報量の多さに応じて自動計算し、トリガーを任意に設定しています。 GAS のトリガーは、実行したら自動的に削除されるものではありません。ですので、明示的に削除しなければ、実行済みのトリガーがプロジェクト内に溜まり続けてしまいます。 /** * Removes the
GAS|名前と MIME type(マイムタイプ)からファイルを検索する|File|getFilesByName|Folder|DriveApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 Google ドライブ内からファイルを検索する場合、「DriveApp.searchFiles」というメソッドが GAS には存在しますが、現在、こちらが正常に機能していません。取得した「FileIterator」の「FileIterator.hasNext()」を呼び出すと、必ず「引数が無効」というエラーが発生します。
GAS|ドキュメントを保存する前に適用した変更が多すぎます。|setText|Body|DocumentApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 「500KB」のテキストを、以下の方法で「Google ドキュメント」に保存しようとしたら、「ドキュメントを保存する前に適用した変更が多すぎます。」というエラーが発生しました。 var document = DocumentApp.create(name);document.getBody().setText(text)
GAS|スプレッドシート(ファイル)を削除する|removeFile|Folder|getFolderById|DriveApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシート(ファイル)を削除するには、以下のようにします。 /** * Removes the given spreadsheet from the current folder. * This method
GAS|スプレッドシート(ファイル)をコピーする|makeCopy|File|getFileById|DriveApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシート(ファイル)の「コピー」を作成するには、以下のようにします。 /** * Creates a copy of the spreadsheet (file) and names it with the