Instagram Graph APIが突然死した件


id=“はじめに”>はじめに

個人的な趣味用途でInstagram Graph APIを使っている(Instagramの投稿をTwitterに投稿する自作プログラムをLambda上で動かしている)のだが、2022/6/27 13:00頃から突然エラーを吐いて動かなくなった。
それ以前にもPlatform側の障害で死んでいたことはちょいちょいあったので、今回もそれかなあ~と思ってたが、違った。
そのメモ、というか同じことをまた起こさないための自分用の備忘録。

原因

Facebook for Developersから開発者アラートが来ていて、それを完全に見逃していたことが原因だったようだ。
遡ってみると、4/15にこんなメールが来てた

これを完全に見逃していて、6/13に最後通告っぽいメールが来てた

これすら完全に見逃していて、6/27にAPIがDeativateになったということのようだ。

対処

Facebook for Developersのサイトに入って、対象のアプリを選択後、左側のサイドバーの「アラート」メニューから入り、↑のメールの最後通告に該当する通知から、「Start Checkup」を押して、チェックを始める。

あとは問われた質問に対して答えれば終了。
5秒で終わる。
これで処理が復旧した。

振り返り

今回のことは、通知を見逃していたことが原因であり、100%俺の責任である。
そういえばこのテの通知を受けるのは初めてではなく、そのときは忘れずに期限前に実施していたのだが、今回だけは完全に失念してしまっていた。
最初エラー吐きまくってたときは「ちっまた障害か」とか思ってInstagram(Facebook)疑ってすいませんでした。

この通知に関しては、遡ってみると、2か月以上も前(4/15)から通知してくれていて、かつ実際にDeativateするって言ってから(6/14)も2週間は生かしておいてくれたうえ、期限を大分過ぎてから対処しても、対処後すぐに復旧してくれたことを考えると、色々大分良心的な対応だと思う。
今まで遭遇したことがなかったので知らなかったが、見逃し続けてるとこういうことが起きるというのも良い勉強になった。
ちなみにHTTP 400エラーになるようです↓

{"message":"Request failed with status code 400","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, /","User-Agent":"axios/0.27.2"},"method":"get","baseURL":"https://graph.facebook.com/","params":{"limit":"5","fields":"id,caption,media_type,media_url,children{id,media_url,media_type},permalink,timestamp","access_token":"xxx"},"url":"123456789/media"},"code":"ERR_BAD_REQUEST","status":400}  

あんまり自分の周りでは見かけないんだけど、Instagram Graph APIを使って遊んでる人は気を付けようねと思った事例だった。