綺麗に死ぬITエンジニア

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、めんどくさい。

筆者について

フリーランスエンジニアとして活動している、「もりやませーた」です。

筆者のTwitterはこちら。記事に関するご意見等はTwitterの方へお寄せください。

その他業務に関するお問い合わせは、こちらのページをご覧ください。

Facebook