[iOS][Facebook API]を触ってみた

ちょっと必要があって、FacebookAPIを調べてみた。
Facebook開発者向けドキュメント | Facebook API、SDK、ガイド

前提

とりあえずはiOS向けについて、Getting Startedをやってみる。
GitHub - facebook/facebook-objc-sdk: Used to integrate the Facebook Platform with your iOS & tvOS apps.

iOS SDK(XCode) とgitが必要。うん、これはインストール済だからOK。

Facebook SDKのダウンロード

git clone git://github.com/facebook/facebook-ios-sdk.git

で、Facebook SDKとサンプルをダウンロード。
ちなみにライセンスは Apache 2.0とのこと。

アプリケーションの作成

んでちょっと分かり難いのが、Facebook上で「アプリケーションの作成」というのをやらないといけないらしい。まあ、Google App EngineでのApplication IDの追加にイメージは近いのかな。
Create Application(要ログイン)

作ってみる。
すると、携帯電話番号をかクレジットカードで認証が必要とか言われる。
クレジットカードなんてヤなのでiPhoneの番号を入れてみる。
すると、iPhoneのSMSに確認用のPINコードが届く仕組み。

ブラウザに戻ってこれを入力すると、アプリケーションが作られた。

サンプルアプリのビルドと実行

ダウンロードされたSDKには、sampleフォルダの下に「DemoApp」と「theRunAround」という2つのサンプルプロジェクトがある。まずはDemoAppの下の「DemoApp.xcodeproj」をXCodeで開く。
シミュレータで実行してみると、facebookのログインボタンが表示されるのでクリックしてみる。良く分からんエラーでた。

AppIdの埋め込み

でもアプリのソースコードをつらつらっと見たところ、どうやら先程Facebookのサイトで作成したアプリのIdを埋め込むようだ。そりゃそうだわな。
「DemoAppViewController.m」の23行目、

static NSString* kAppId = nil;

となっている部分があるので、ここにApp IDを設定。

ビルドしたら、今度はちゃんとログインプロンプトがでてきた。
ログインしてみる。

OAuthの認可を求める画面が出て来た。
許可すると、

まあデモだからこんなもんか。

ただこれ、どのボタンタップしても「何かやってる」くらいしか分かんない。
まあ何かAPI呼んでるんでしょうね。ちょっとそこまで突き止める気分でもない。

「theRunAround」のデモの方はもう少し機能があって、「これからooマイル走ります」宣言をさせられて、
アプリからfacebookにコメントが投稿された。
自分の友達リストも表示されてました。

まあ、手順はあるものの、分かってしまえばすぐ使えそう。
特に、(Twitter4jで若干苦労したことを考えると)OAuth認証がとっても楽に通るのは良いですね。