Facebook APIをFlash(AS3)から使うためにざっと目を通しておくといいもの

とりあえず、AIRとかじゃなくてwebからさっと連携させたいってときに、
ここら辺に目を通すといいかなというもののメモです。

メモなので丁寧な説明は欠けてますのでご容赦ください。
細かい解説は各リンク先を参照していただければ幸いです。

アプリの設定

下記サイトを参考にFacebookのDeveloperページから、新規アプリを作成。

[参考]新規Facebookアプリの作り方 – 日々の備忘録ブログ
Facebook developer ページ

アプリ作成後、AppIDとAPIKeyをメモっておきます。

またアプリ開発中はサンドボックスモードをONにしておくと他人からアプリが見えません。
サンドボックスモード(Facebookアプリを開発者以外には見せない) – ウェブ、ショウジン

ライブラリのダウンロード

FlashからFacebook使う場合は、Adobeの提供しているライブラリを使うと楽です。
(ライセンスはMIT)

facebook-actionscript-api – Adobe ActionScript 3 SDK for Facebook Platform – Google Project Hosting

記事を書いている時点では、バージョンは1.8.1です。

上記がライブラリのページですが、今回はさっとサンプルを見たいので、
DownloadsのGraphAPI_Examples_1_8_1.zip をダウンロード。

その中の、FlashWebExampleが目当てのサンプルです。

FlashWebExample
┣FacebookGraphAPI.swc
┣FlashWebExample.fla
┣FlashWebExample.swf
┣FlashWebMain.as
┗index.html

ざっくりの構成でいうと、
FacebookGraphAPI.swcにライブラリがまるっと入っていて、
AS3からそれを適宜呼び出して使っています。

ライブラリ自体は、HTML内に読み込んだ
http://connect.facebook.net/en_US/all.js
を呼び出して認証結果の取得など行っているみたいです。

とりあえず動かすには、
FlashWebMain.asの42行目にさっき作成したアプリのIDを入れるだけでOK。

protected static const APP_ID:String = "さっきのアプリのID";

これで書き出したswfとHTMLをサーバーにあげればすぐ動きます。

Facebook内で呼出したいときはdeveloperページのアプリ > 設定 > 基本設定で、
Facebook上のアプリを選んでキャンバスURLを指定すれば表示できます。
(最終的にはSSLサーバーが要るので注意)

ライブラリの使い方

リファレンスは下記ページ内の「GraphAPI_Documentation_1_8_1.zip 」。

Downloads – facebook-actionscript-api – Adobe ActionScript 3 SDK for Facebook Platform – Google Project Hosting

リファレンスを見るのも面倒な人はサンプルのFlashWebMain.asの中の
下記の4つをとりあえず抑えておくといいかも。

[1]初期化する(Line:64)

1個目は設定したアプリのID、2個目はcallback関数

Facebook.init(APP_ID, onInit);

[2]ログイン(Line:78、79)

一個目の引数はcallback関数。2個目はオプションで、ここにObject形式でパーミッションなど指定しておく。
各機能を使う際に必要なパーミッションは最後に書いたリンクを参考に。

var opts:Object = {scope:"publish_stream, user_photos"};
Facebook.login(onLogin, opts);

[3]Flash内からAPIを叩く(Line:118)

一個目はメソッドのURL(”/me/feed/”など)。二個目はcallback、3つ目はAPIに渡すパラメーター。最後はPOSTかGETの指定。

Facebook.api(methodInput.text, onCallApi, params, requestType);

[4]ウィンドウを立ち上げてFacebookのUIで投稿させる(Line:131)

一個目はメソッドのURL(”/me/feed/”など)。二個目はAPIに渡すパラメーター、3つ目はcallback。

Facebook.ui(method, data, onUICallback);

APIについての参考URL

あとは下記リンクから適宜必要なpermissionを指定して、APIを叩いてあげればOKです。

公式

日本語訳

そのほか丁寧で参考になりそうな記事

Flashからfacebookページのウォールをjsonで取得してパースできるかやってみました。 | su8erlemon
(画像取得のcrossdomainをサーバーごとに取得とか忘れててハマりそう)
TAM テクニカルチーム | Facebookアプリから写真を投稿する(Flash) | Tips Note

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>