を返しません。私はそれをAndroid上で動作させましたが、iOSでは電子メールなしで私にuserdataを返します。AppceleratorのチタンFacebookの要求は、私はFacebook経由でログインしたユーザーの電子メールを受信するためにしようとしていたメール
私のコードは次のとおりです。
var viewClick = function() {
fb.logout();
fb.initialize();
fb.authorize();
};
var facebookLogged = function(e) {
Ti.API.info('results From Event: ' + JSON.stringify(e))
fb.requestWithGraphPath("me?fields=name,email,first_name,last_name", {}, 'GET', function(result) {
// fb.requestWithGraphPath("me", { fields: "name,email,first_name,last_name"}, 'GET', function(result) {
Ti.API.info('results From Graph API: ' + JSON.stringify(result))
var data = JSON.parse(result.result);
Ti.API.info("-- email: " + data.email);
});
};
var window = Ti.UI.createWindow({exitOnClose: true, navBarHidden: true, fullscreen: true, orientationModes: [
Ti.UI.PORTRAIT,
Ti.UI.UPSIDE_PORTRAIT,
],
backgroundColor: '#f0f2f2'
});
var fb = require('facebook');
if(Ti.Platform.osname === 'android') {
window.fbProxy = fb.createActivityWorker({lifecycleContainer: window});
}
//fb.setLoginBehavior(fb.LOGIN_BEHAVIOR_NATIVE);
fb.permissions = ['email'];
window.open();
var view = Ti.UI.createView({
height: 200,
width: 200,
backgroundColor: 'red'
});
view.addEventListener('click', viewClick);
window.add(view);
fb.addEventListener('login', facebookLogged);
結果は以下のとおりです。私は(それが返すアンドロイドに取り組んでそれを作った
- :
results From Event: {"success":true,"code":0,"data":"{\"firstName\":\"Eren\",\"lastName\":\"Kars\",\"userID\":\"1498651573764560\",\"middleName\":\"\",\"name\":\"Eren Kars\",\"linkURL\":\"https:\\/\\/www.facebook.com\\/app_scoped_user_id\\/1498651573764560\\/\"}","uid":"1498651573764560","cancelled":false,"bubbles":true,"type":"login","source":{"id":"facebook"},"cancelBubble":false} results From Graph API: {"result":"{\"id\":\"1498651573764560\",\"last_name\":\"Kars\",\"name\":\"Eren Kars\",\"first_name\":\"Eren\"}","success":true,"path":"me?fields=name,email,first_name,last_name"} -- email: undefined
ための構成/モジュールには問題はありません電子メール)、
- それは)のAndroid/iOSの両方(のログインで正常に動作し、
- それは、電子メール以外のすべてのフィールドを返し、グラフAPIでエラーを与えません。任意の助けを事前に
感謝。
私は「電子メール」の許可も使用していますが、ユーザーはFacebookやアプリに自分のメールアドレスを表示させる必要があると思います。時にはうまくいくこともあります。私はFacebookのアカウントでそれを試しても動作しますが、この情報がないユーザーもいます。 –
@CarlosHenriqueLustosa:Androidで同じアカウントからメールが返されるため、問題ではないと思います。 – kreatywny
のfacebook v 2.0 apiの後にメールIDがオプションになった場合、ユーザーが非公開にすると電子メールはAPIで取得されないはずですが、fb idを取得します。 – Jain