Google Apps Scriptで501エラーが出た場合の対処方法【GAS】

プログラミング501エラー,cron,EasyBotter,GAS,Google,Google Apps Script,エックスサーバー,エラー,スクリプト,プログラミング,対処法

EasyBotterをGoogle Apps Scriptで動かしているのですが、ある日突然エラーが出るようになりました。エラーの原因を調査して対処方法がわかりましたので、まとめました。

Google Apps Scriptでのエラー詳細

Exception: Request failed for (URL) returned code 501. Truncated server response:
501 Not Implemented
<meta name="copyright" content="Copyright XSER… (use muteHttpExceptions option to examine full response)
(関数名) @ コード.gs:2

Google Apps Scriptの501エラーの意味

HTTPgRPC説明
501NOT_IMPLEMENTEDAPI メソッドはサーバーによって実装されていません。

ブラウザから直接ファイルにアクセスしてみる

ブラウザから直接ファイルにアクセスすると動作します。

ファイルのパーミッション設定の確認

パーミッションの設定がおかしくなっていたので修正しました。

data.txtとreply_pattern.phpとlog.datのパーミッションを666

http://pha22.net/twitterbot/2.0/test.php

まだエラーが出ます。

サーバのWAF設定の確認

とうとう解決方法が見つかりました。

セキュリティ対策でWAFをONに設定してあったことが原因でした。セキュリティ的にはWAFはONのほうが良いです。しかし、エラーが出てしまっているのでWAFの「コマンド対策」をOFFにしました。

すると、正常にGoogle Apps Scriptが動作しました!