makoto_ogaの日記

書ける時は技術系、それ以外は日常系・空想系のブログを書いていきます

facebook APIの仕様変更

こんばんは、ogaです。

先日、顧客から妙な指摘がありました。

私が担当を引き継いだWEBシステムで、facebookアカウントでログインする機能がエラーとなっているとの事。
とりあえず現象を確認し、原因を調査したのですが、ソースコードは半年前くらいにコミットされたまま変更された形跡はありませんでした。

おかしいなと思い、念のため顧客に確認をしました。

「この機能はリリース当初から動いていたでしょうか」

「はい、検収も済んでいます」

という回答をいただいたので、さらにエラーログの内容を確認しました。
「不正なパラメータ」的なエラー内容でした。

?どういうことだろう?

動いているはずのものが動いていない。
考えられるのは可能性が低いと思っていたfacebookAPIの仕様変更・・。

的中でした。

変更しされたAPI

https://graph.facebook.com/me

以前はjson形式でaccess_tokenを渡せていましたが、現在はgetパラメータでしか渡せなくなっていました。

呼び方を変更して解決。

【変更前】

https://graph.facebook.com/me?fields=id,name,email&{"access_token":"hoge","token_type":"bearer","expires_in":5183489}

【変更後】

https://graph.facebook.com/me?fields=id,name,email&access_token=hoge&token_type=bearer&expires_in=5183489

まさか、さらっと仕様変更しているとは・・。
しかも、かなり使われている機能ではないかと思いました。
実際に某海賊王のゲームでも同障害が起きていたとか、いないとか。

まあ、ご時世的にfacebookのアカウントでログインする人が減っている事は間違いないでしょうね。
ほとんどの人がTwitter、LINE、Google、メールアカウントでやっていると思います。
気づき難いかもしれませんね。

もし、facebookAPIを利用している方がいれば、確かめてみたほうがいいかもしれません。

では、また。