gpt4 book ai didi

javascript - Facebook 电子邮件从phonegap facebookConnect 插件返回为未定义

转载 作者:行者123 更新时间:2023-11-28 05:12:37 25 4
gpt4 key购买 nike

我正在使用phonegap facebook Connect plugin在我的应用程序中启用 Facebook 登录。然而,Facebook 电子邮件被返回为未定义。

我需要在代码中添加一些内容吗?我在互联网上查找了这个问题,看来我的代码应该可以工作。除电子邮件地址外,其他所有内容都会返回。

如果您能提供帮助,我将不胜感激

这是我的 JavaScript 代码:

   facebookConnectPlugin.api('/me?fields=id, email, link, name, picture', ["public_profile"],function(data){
var fb_user_id = data.id;
var fb_email = data.email;
var fb_name = data.name;
var fb_picture_url = data.picture.data.url;
var fb_user_link = data.link;
alert("fb_email" + fb_email);
}); //end api call

编辑:

我尝试使用此代码测试用户帐户,并且电子邮件地址确实被返回。然而,对于我正在测试的真实帐户来说,这是行不通的。

通过更多测试,我尝试添加电子邮件权限,如下所示,但这不起作用,因为我收到的数据显示“FACEBOOK_NON_JSON_RESULT”

 facebookConnectPlugin.api('/me?fields=id, email, link, name, picture', ["public_profile", "email"],function(data){
var fb_user_id = data.id;
var fb_email = data.email;
var fb_name = data.name;
var fb_picture_url = data.picture.data.url;
var fb_user_link = data.link;
alert("fb_email" + fb_email);
}); //end api call

最佳答案

我找到了解决此问题的方法,即执行两个单独的 api 请求,如下所示:

    facebookConnectPlugin.api('/me?fields=email', ["email"], function(apiResponse) {

//alert("api" + JSON.stringify(apiResponse));
fb_email = apiResponse.email;
alert("fb_email" +fb_email); //email being retrieved successfully
facebookConnectPlugin.api('/me?fields=id, name, link, picture', ["public_profile"],function(data) {
alert("data" + JSON.stringify(data));

var fb_user_id = data.id;
var fb_name = data.name;
var fb_picture_url = data.picture.data.url;
var fb_user_link = data.link;

alert("fb_user_id" + fb_user_id);
alert("fb_name" + fb_name);
alert("fb_picture_url" + fb_picture_url);
alert("fb_user_link" + fb_user_link);
//do stuff with facebook user data here
}

,function(error){
//api call failed
alert("api call Failed: " + JSON.stringify(error));
}); //end api
}

,function(error){

alert("email api call Failed: " + JSON.stringify(error));
}); //end api

这很完美!

关于javascript - Facebook 电子邮件从phonegap facebookConnect 插件返回为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com