『入門ソーシャルデータ』9章: Facebookのアクセストークン取得
毎週開催されている「『入門 ソーシャルデータ』真面目に勉強する会」は、次が9回目で、9章がテーマです。
というわけで、9章のサンプルコードを手軽に実行するための準備についてメモします。
9章のテーマ
9章は「Facebook: オールインワンのソーシャルウェブ環境」というタイトルで、Facebookのデータを取ってきて可視化しようという内容です。
この章はページ数こそ多いですが、そのほとんどがソースコードで、理論的な話は少なめです。サンプルコードは、原著者のgithubで公開されています。1〜8章をすべて読んでいなくても、9章だけを独立して味わうことができるのではと思います。
作業方針
とにかくFacebookのデータにアクセスしないことには始まりません。そのために、アクセストークンが必要です。
サンプルコードのfacebook__login.pyが、Facebookのアクセストークンをローカルファイルとして保存する処理をしているので、ここでは同じことを手でやることにします。
# というのも、facebook__login.pyは、GAE(Google App Engine)上にアプリをホストすることを想定したコードになっており、真似をするのが面倒だからです。
手順
1. Facebookアプリの新規作成
まず、http://developers.facebook.com/ で新規にアプリを作ります。[Build Apps on Facebook]から先へ進むと、[Create New App]というボタンがそこらへんに表示されるので押します。ポップアップが表示されます。
# この時点では、赤いボックスの注意書きは表示されないかもしれません。
アプリの名前を入力します。「Web Hosting」のチェックボックスは外しておきます。
2. Security Check
captchaを入力します。
さて、もし過去に一度でもアプリを作った(作ろうとした?)ことがあれば、以上で新規アプリが作成されるようです。その場合、手順の4へ飛びます。
しかし、アプリを初めて登録する場合、このタイミングで(1番目のキャプチャのとおり)携帯電話かクレジットカードによる認証が必要であるという注意書きが表示されるかもしれません。その場合、3の手順が必要です。
3.携帯電話を使った認証
今回は、携帯電話を使った認証を選択します。上の注意書きの中の[mobile phone]というリンクをクリックすると、次のポップアップが開きます。
携帯電話のメールアドレスを入力します。
すると、こんなメールが届きます。
Subject: Facebook Mobile confirmation code
Facebook Mobile confirmation code: xxxxxx
Or visit http://fb.me/xxxxxxxxxxxxxx
このコードを、次のポップアップに入力します。
これでアプリが作成できました。
4. アクセストークンの取得
アプリの作成直後は、アプリ編集画面が開いています。
左メニューにある[UseGraph API Explorer]リンクをクリックします。
すると、直接HTTPリクエストを投げて結果のJSONを得られる画面に移動します。
自分のアプリ(スクリーンショットでは「SampleSocialData」)を選択していることを確認して、[Get Access Token]ボタンを押します。
大量のチェックボックスが表示されたポップアップが開きます。この画面で、アプリにアクセスを許可する対象を選びます。
ここでは、facebook__login.pyで、EXTEND_PERMSという変数に定義されている権限すべてを選択します。忠実にやるとこうなります。
選び終えたら、[Get Access Token]ボタンを押します。すると、別のポップアップが表示されます。
[Login with Facebook]ボタンを押します。
ポップアップが閉じて、アクセストークンがテキストボックスに表示されます。