Sencha を使用してアプリを作成しており、Facebook ログインを統合する必要があります。「Facebookでログイン」ボタンをクリックすると、ユーザーがFacebookにログインしていない場合、Facebookの電子メールIDとパスワードを入力するポップアップが表示されます。それ以外の場合、ユーザーがすでにログインしている場合は署名する必要があります- Facebook認証で。sencha touch を使用してこれを実装するにはどうすればよいですか。助けてください 。この機能のコードを提供していただけると助かります。よろしくお願いいたします。
質問する
1429 次
2 に答える
4
まず、facebook で JavaScript SDK アプリを作成する必要があります (このリンクをたどってください)。アプリが作成されると、APP ID が取得されます。次に、次のコードを app.js に追加します。
Ext.application({
name: 'FBLogin',
launch: function() {
Ext.create('Ext.container.Viewport', {
items:[
{
xtype: 'panel',
html: '<center><div id="fblogin" class="fb-login-button">Login with Facebook</div></center>'
}
],
listeners:{
render: function(obj, eOpts){
window.fbAsyncInit = Ext.bind(this.onFacebookInit, this);
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
}
},
onFacebookInit: function(){
console.log('onFacebookInit');
var me = this;
FB.init({
appId : 'YOUR_APP_ID',
status : true,
xfbml : true
});
FB.Event.subscribe('auth.authResponseChange', Ext.bind(me.onFacebookAuthResponseChange, me));
},
onFacebookAuthResponseChange: function(response){
this.down('panel').setVisible(false);
alert("Success fully Logged in");
}
});
}
});
Facebook アプリを作成すると、Facebook ログインのある Web サイトの下に「SiteURL:」というフィールドが表示されます。これは、Web アプリの URL を指している必要があります。(例: http://example.com )
于 2013-07-26T10:37:48.110 に答える