こんにちは。ファンリピートでインターンシップをしております、塙です。
2025/3/23より「AI英会話さん」のプロモーションとして行っているXへの自動投稿のプログラムが正常に動かなくなりました。
同様の問題に直面している方が多くいらっしゃったので、私の行った対策をまとめておきます。GASを用いたXへの自動投稿です。
エラー文:「We’re sorry, a server error occured while reading from storage. Error code NOT_FOUND」
原因:使用していたTwitterWebServiceというライブラリがなくなっていた模様。
対策:TwitterWebServiceを削除
原因発見に至るまで
これまで、ずっと正常に動いていたbotからスクリプトが正常に実行できなかったとのメールがきていました。
Error code NOT_FOUNDって、原因よく分からんなぁと思いながら、スクリプトを確認してみる。
これまで正常に動いていたプログラムなだけあって、特に原因が見つからない。
エラー文についてネットで検索しても、V8ランタイムに関するものや、ライブラリにdeveloperモードがあるなどの対策で、今回の問題解決にはいたらず…
しかし、ライブラリに追加していた「TwitterWebService」をクリックしてみると、そのライブラリが見つからないというメッセージが出てきました。
どうやらこれが原因らしい…ということで、Xやネットで色々調べてみました。
すると、最近Xの更新でTwitterWebServiceというライブラリが消えていそうということが判明。さらに、ライブラリに一つでも見つからないものがあると先ほどのエラーが吐かれそうだということもわかりました。
対応
ここで行った対応は、TwitterWebServiceをライブラリから削除し、TwitterWebServiceに関してはGitHub上にコードがあったので、それをコピーしてスクリプトに貼り付けてみました。
そのようにしてスクリプトを実行したところ実行完了。
また、実は私の作成していたスクリプトではそのライブラリを使用しておらずそもそもそのスクリプトは使用しなくても動くものだったということにも今更ながら気づきました。また、GitHub上のTwitterWebServiceのOAuthはOAuth1であり、OAuth2に対応させる必要はありそうです。
余談
次に、正しく投稿されているかをXのアプリで確認したが、新たな投稿が見当たらない。しかし、実行は問題なく終わっていました。
そこで、response.getContentText()の中身を確認し、https://twitter.com/i/web/status/{edit_history_tweet_ids}にアクセスしたところ、そのポストが存在していることを確認。どうもただ表示されていなかっただけのようでした。
終わり
紆余曲折あったが、問題は解決しました。ネット記事にはあまり情報がなかったので、この記事がお役に立てば嬉しいです。