herokuのアプリ上からyoutubeにアクセスしたら拒否された

heroku上のアプリからyoutubeの動画にアクセスして、ogpを取得していたんだけど、あるときまったく取得できなくなった。
ローカルでは大丈夫なので、herokuアプリ上でだけ。
で、実際にherokuアプリ上でアクセスしてみると、次のような画面が表示されていることがわかった。

Sorry for the interruption. We have been receiving a large volume of requests from your network.

To continue with your YouTube experience, please fill out the form below.

・・まじ!?
アクセス頻度としては、一日10回もアクセスしてない。めっちゃ少ないね。
これで拒否されるってことは考えられないので、herokuの同一ネットワークにある別の他人のアプリが大量にyoutubeにアクセスしたりしてるんか?

と仮説をたてたので、別ネットワークに移動することにした。
とりあえずdynoを再起動してみるか、と思って次のcurlを使う方法を試してみた。
https://devcenter.heroku.com/articles/platform-api-reference#dyno-restart-all

でも、oauthトークンをちゃんと使用してもいまいち成功しなかった。

しょうがない、herokuコマンドでいいか。

heroku ps:restart -a hogehogefuga-app

再起動後、youtubeにアクセスしてみるとあら不思議、ogpが取得できるようになりました。

よし

ちょっと検証が納得いくほど出来てないので、嘘かもしれないけど、ps:restartしたらyoutubeにアクセス出来るようになりました。

タイトルとURLをコピーしました