BAD_ACCESS

おもにiOS、ときどき変な電子工作、ガジェット話。

facebookの友達申請ダイアログ表示

iPhoneアプリ上でfacebookと連携させる必要がでてきた。
ここでは「ダイアログ」に「友達申請画面」を表示させる必要があったのでその時のメモ。

<iOS用SDKの取得>

まずはfacebook-ios-sdkの最新版をGitHubから手に入れておくなど。
facebook/facebook-ios-sdk · GitHub

<iOS用のfacebook SDKで用意されているメソッドの場合>

提供されているDialogのメソッドをのぞいてみるとインスタンスメソッドが用意されてた。
Dialog - Facebook ontwikkelaars
しかし、通常のoauth, feed, apprequestには対応しているものの、友達申請のactionは用意されていない様子。残念。

API直接の場合>

ならばともう少しDialogについて調べてみると、直接アクセスするAPIが公開されていた。
Dialogs Overview - Facebook ontwikkelaars
(あと、iOS用のSDKで用意されていないいくつかのactionがあることが分かった)
実際に書くとこんな感じ(指定しているパラメータの値は適当)

    http://m.facebook.com/dialog/friends?
    id=brent&
    app_id=123050457758183&
    redirect_uri=http://www.example.com/response/&
    display=touch

実行してみる。と、エラーが出てしまいます。

友達申請画面はまだダイアログ表示(スマホ用)に対応していないようです。pay dialogも同様。
ここはfacebookにもうちょっとがんばってもらわないといけないようですね。

<余談>

結果としてこういう方法をとらざるを得ない状況(2011年末時点)
xcode - Add as Facebook friend on click iPhone - Stack Overflow