なんかできたよー。

Web系Tipsを適当につづるBlog.

Facebook OAuth認証設定例

 

メモ

■ 2013/02/12 追記
※ Titanium SDKが「3.0.0.GA 」では動かないようです。 ご注意下さい。

最新版で修正されているようです。

■ 2013/06/21 追記
「3.1.0.GA 」移行についてはこちらの記事が参考になります。
Titanium SDK 3.1.0 対応で色々大変だったというメモ | Hiro Fukami's Blog

さいしょに

[アプリ] → [Facebookログイン] → [認証ダイアログ] → [認証成功] → [アプリ]に戻ってくるやつ

f:id:tuki0918:20130201212144p:plain

Facebook アプリの設定例

f:id:tuki0918:20130201015309p:plain

  • App ID: Titanium側で使用します
  • バンドルID: tiapp.xmlで設定してるApplication Idを登録する

Titanium Mobileの設定例

# app.js

(function () {
    Ti.UI.setBackgroundColor('#fff');

    Ti.Facebook.forceDialogAuth = false;
    Ti.Facebook.appid = '【App ID】';
    Ti.Facebook.permissions = ['publish_stream'];

    var win = Ti.UI.createWindow({ title: 'TiFbOauth', tabBarHidden: true });

    var fbLoginBtn = Ti.Facebook.createLoginButton();
    win.add(fbLoginBtn);

    var tabGroup = Ti.UI.createTabGroup();
    var tab = Ti.UI.createTab({ window: win });
    tabGroup.addTab(tab);
    tabGroup.open();
})();


# tiapp.xml

<property name="ti.facebook.appid">【App ID】</property>
  • tiapp.xmlに必ず追加する

Facebook登録名を所得する

# app.jsに追加する

    var text = 'こんにちは!ゲスト様';

    var loginName = Ti.UI.createLabel({ top: '40dp', text: text });

    function getFbName() {
        Ti.Facebook.requestWithGraphPath('me', {}, 'GET', function (e) {
            if (e.success) {
                var json = JSON.parse(e.result);
                loginName.text = 'こんにちは!' + json.name + '様';
            }
        });    	
    }

    if (Ti.Facebook.loggedIn) {
        getFbName();
    }

    Ti.Facebook.addEventListener('login', function(e){
        getFbName();
    });

    Ti.Facebook.addEventListener('logout', function(e){
        loginName.text = text;
    });
    win.add(loginName);