Facebook APIでアプリIDからアプリを作成したユーザIDを調べる
2015-09-24
誰が見るんだかわからない備忘録。
今回、担当者の変更によって、とあるアプリケーションから利用していたFacebookのアカウントのユーザ名がわからなくなったため、アプリID(App ID)とパスワード(App Secret)から、ユーザIDを逆算しました。
なお、今回はAPI v1.0での挙動のため、v2.0以降では全く使えないかもしれません。
用意する情報
- アプリID(APP_ID): 15字程度の数字の羅列
- アプリパスワード(APP_SECRET): 32字程度の16進数(数字とa〜fの英字)
Access Tokenの取得
まず、アプリIDからAccess Tokenを取得し、アプリの権限でAPIから情報を取得できるようにします。
https://graph.facebook.com/oauth/access_token?client_id={APP_ID}&client_secret={APP_SECRET}&grant_type=client_credentials
上記のURLの{APP_ID}をアプリID、{APP_SECRET}をアプリパスワードに置き換えて、ブラウザからアクセスします。
すると、うまくいけば下記のような文字列が表示されるはずなので、「access_token=」より右の文字列を記録しておきます。
access_token=XXXXXXXXXXXXXXX|XXXXXXXXXXXXXXXXXXXXXXXXXXX
ユーザのIDの取得
先ほどと同様に、下記のURLをブラウザに打ち込みます。
https://graph.facebook.com/{APP_ID}?access_token={APP_ACCESS_TOKEN}&fields=creator_uid
{APP_ID}をアプリID、{APP_ACCESS_TOKEN}を先ほど記録したAccess Tokenに置き換えて、アクセスします。
すると、うまくいけば下記のような文字列が表示されます。
{
"creator_uid": "XXXXXXXXXXXXXXX",
"id": "XXXXXXXXXXXXXXX"
}
上記の、"creator_uid"の右に書かれている数字の羅列が、ユーザIDになります。これで取得完了です。
ユーザ名の調査
数字の羅列されたユーザIDではなく、URLに表記されるようなわかりやすい英数字のユーザ名を取得したい場合は、取得したユーザIDを用いて、下記のアドレスにアクセスすれば、ユーザ名の書かれたURLにリダイレクトされます。
https://www.facebook.com/{USER_ID}
{USER_ID}の部分に先ほど取得したユーザID(数字の羅列)を挿入しましょう。
ブラウザでアクセスするとリダイレクトされて、{USER_ID}の部分が違う文字列に置き換わると思います。それがユーザ名です。
まとめ
Facebook API、めんどくさい。