質問: RegExp.$1; // レビュー数が変化していたらメールを送る if( new_review != review){ MailApp.sendEmail( "*******@****.com", model + "のレビュー数が変わりました。", URL + "\n" + product + "のレビュー数が[" + review + "]から[" + new_review + "]に変化しました。" ); // レビュー数を書き換える sheet.getRange(1,3).setValue( new_review ); } } ``` Amazon側のレスポンスが悪くレビュー数がきちんと取得できていないのでしょうか。 なお、実際にはforループで複数の商品をチェックしていますが、問題の解決に必要だと思うところだけを抜き出して書き直しました。 よろしくお願いします。
回答: いくつか追加情報が必要と思われます。 * レビュー数がゼロになった場合にはエラーが発生するのでしょうか。それとも何らかの情報があるのでしょうか。レビュー数がゼロになった際に回収したhtmlのデータが分かると解決法につながるかと思いました。 * レビュー数がゼロになった場合、チェックされている複数商品の中で一部がゼロになるのでしょうか、それとも全てがゼロになるのでしょうか。 * スクリプトはどのようなトリガーで動作させているのでしょうか。 レビュー数がゼロになった際の状況が不明だったためテストはできていないのですが、getActiveSheet()メソッドを使用せずに下記のように直接シートIDを指定するという方法はいかがでしょうか。 ``` var ss = SpreadsheetApp.openById('シートID'); ``` スクリプトの実行内容には違いがあるかと思いますが、以前、Container-bound Scriptであってもトリガーで使用する際はgetActiveSheet()ではなく直接シートIDを指定する方がエラーが少ない経験がありましたので、これが解決につながればと思いました。