ツイッターbotのソースを公開しました
表題の件、githubに投稿しました。
botのアカウントはこれ。
アクセストークンがソースに直書きだったので今まで公開できませんでした。
GAEは今年からJava1.7→Java1.8になったのでこちらも対応しました。
ツイッターのフォロー/リムーブのロジックも直しました。
(3000人フォロワーを超えて上手く動いてませんでした多分。)
以下は、ハマったところ。
ローカルで開発した時は上手くいってたがあ、GAEにデプロイして動かすと以下のエラーでツイッターにアクセスできなかった。
api.twitter.com
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=739d56c7 or
http://www.google.co.jp/search?q=70d45818
TwitterException{exceptionCode=[739d56c7-70d45818 a6d63e39-a9b6a6af], statusCode=-1, message=null,\
code=-1, retryAfter=-1, rateLimitStatus=null, version=4.0.7}
ステータスコード-1で、StacktraceにはSocket Errorとか、api.twitter.comが無いみたいな事が書かれていて、GAE側の問題だった模様。
appengine-web.xmlにurl-stream-handlerの設定を追加しました。
これは、Java.1.7→Java1.8になってデフォルト値がnativeになったことが原因とのこと。課金の設定をしていないと、UnknownHostExceptionとかのエラーが起きちゃうよということらしいのです。
appengine-web.xml リファレンス | Java の App Engine スタンダード環境 | Google Cloud
うまく動いてくれるといいね。