病みつきエンジニアブログ

機械学習、iPhoneアプリ、Javascript,Ruby on Railsなどなど。

FacebookのAPIで日本語表記の名前を取得する

いろいろ試したので、まとめておきまっせ。

Graph APIでユーザー名を取得しようとすると、英語になります。なので、FQLからprofileテーブルを参照するという裏技がありました。
コーヒーサーバは香炉である » FacebookのAPIの仕様変更 – ユーザ名は、どの言語で取得できるのか -

ところが、気がついたらこのテクニックが使えなくなってしまったので、いろいろ調べてみました。
また仕様変わりそうですが、2012年2月29日時点の情報です。

・日本語で取得
access tokenなしでGraph APIにアクセス(https://graph.facebook.com/mitsuki.oga)
api.facebook.comドメインのFQL(https://api.facebook.com/method/fql.query?query=)

・英語で取得
access tokenつきでGraph APIにアクセス(https://graph.facebook.com/mitsuki.oga?access_token=)
graph.facebook.comドメインのFQL(https://graph.facebook.com/fql?q=)

こんな感じです。
Graph APIだと、access tokenつけるとなぜか英語表記になるんですがなんちゅーことなんですかね。
そしてFQLはドメイン2つあります。ライブラリを使っていると、ドメインによって取得できる言語が変わってしまうので、確認してみてください。また、profileテーブルを使ってもuserテーブルを使っても、結果は変わりませんでした。