- 運営しているクリエイター
#マンガポスト
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|名前と 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|ISBN-13 を ISBN-10 に変換する|Javascript|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 コミックス発売日情報を作成・管理する為に、コミックス情報から取得した「ISBN-13」を「ISBN-10」に変換しています。 /** * Convert an ISBN-13 code to an ISBN-10 code. * This method requires a valid ISBN-13 with NO f
GAS|ISBN-10 を ISBN-13 に変換する|Javascript|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 コミックス発売日情報を作成する為に、コミックス情報から取得した「ISBN-10」を「ISBN-13」に変換しています。 /** * Convert an ISBN-10 code to an ISBN-13 code. * This method requires a valid ISBN-10 with NO form
GAS|スプレッドシートの MIME type(マイムタイプ)|GOOGLE_SHEETS|MimeType|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシートを検索したり新規作成したりするには、「MIME type(マイムタイプ)」が必要な場合があります。 スプレッドシートは英語だと「Google Sheets」ですので、知らないと迷ってしまうこともある
GAS|スプレッドシートのシート内から取得した二次元配列の行データを連想配列(オブジェクト)に変換する|splice|map|Javascript|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシートのシート内から取得した二次元配列の行データを、連想配列(オブジェクト)に変換して扱いたいことがあります。例えば、JSON データを生成したい場合などです。 上記のように、シート内の 1 行目に「キー
GAS|スプレッドシートのシート内から取得した全日付データを指定した文字列に変換(フォーマット)する|formatDate|Utilities|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシートのシート内から全データを取得すると、セルの日付データが全て、勝手に以下のような「データ型」になってしまっていました。 instanceof Date Wed May 01 2019 09:00:00
GAS|スプレッドシートのシート内へ全データを入力する(高速)|setValues|getRange|Sheet|SpreadsheetApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシートの、特定のシート内へ全データを入力するには、以下のようにします。但し、これでは速度の問題があります。 /** * Sets a rectangular grid of values. * * @p
GAS|スプレッドシートのシート内から全データをクリア(削除)する|clear|getDataRange|Sheet|SpreadsheetApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日配信しています。 この「コミックス販売日情報」は、スプレッドシートで作ったものです。 Google ドライブ内に保存しているスプレッドシートの、特定のシート内から全データをクリア(削除)するには、以下のようにします。 /** * Clears the all values in the sheet. * * @param sheet — the Sh