Facebook Accountkit JAVASCRIPT实现
我正在尝试使用javascript实现facebook accountkit。我在上一节课上阅读了文档。 AccountKit登录表单Facebook Accountkit JAVASCRIPT实现,javascript,facebook,Javascript,Facebook,我正在尝试使用javascript实现facebook accountkit。我在上一节课上阅读了文档。 AccountKit登录表单 Enter country code (e.g. +1): <input type="text" id="country_code" /> Enter phone number without spaces (e.g. 444555666): <input type="text" id="phone_num"/> <button o
Enter country code (e.g. +1):
<input type="text" id="country_code" />
Enter phone number without spaces (e.g. 444555666):
<input type="text" id="phone_num"/>
<button onclick="phone_btn_onclick();">Login via SMS</button>
Enter email address
<input type="text" id="email"/>
<button onclick="email_btn_onclick();">Login via Email</button>
输入国家代码(例如+1):
输入不带空格的电话号码(例如44555666):
通过短信登录
输入电子邮件地址
通过电子邮件登录
下面是我的应用程序上的javascript代码
<script src="https://sdk.accountkit.com/en_US/sdk.js"></script>
<script>
// initialize Account Kit with CSRF protection
AccountKit_OnInteractive = function(){
AccountKit.init(
{
appId:'facebook_app_id',
state:"csrf",
version:"accountkit_version"
}
);
};
// login callback
function loginCallback(response) {
console.log(response);
if (response.status === "PARTIALLY_AUTHENTICATED") {
document.getElementById("code").value = response.code;
document.getElementById("csrf_nonce").value = response.state;
document.getElementById("my_form").submit();
}
else if (response.status === "NOT_AUTHENTICATED") {
// handle authentication failure
}
else if (response.status === "BAD_PARAMS") {
// handle bad parameters
}
}
// phone form submission handler
function phone_btn_onclick() {
var country_code = document.getElementById("country_code").value;
var ph_num = document.getElementById("phone_num").value;
AccountKit.login('PHONE',
{countryCode: country_code, phoneNumber: ph_num}, // will use default values if this is not specified
loginCallback);
}
// email form submission handler
function email_btn_onclick() {
var email_address = document.getElementById("email").value;
AccountKit.login('EMAIL', {emailAddress: email_address}, loginCallback);
}
</script>
//使用CSRF保护初始化帐户套件
AccountKit_OnInteractive=函数(){
AccountKit.init(
{
appId:'facebook\u app\u id',
声明:“csrf”,
版本:“accountkit_版本”
}
);
};
//登录回调
函数loginCallback(响应){
控制台日志(响应);
如果(response.status==“部分验证”){
document.getElementById(“code”).value=response.code;
document.getElementById(“csrf_nonce”).value=response.state;
document.getElementById(“我的表单”).submit();
}
else if(response.status==“未通过身份验证”){
//处理身份验证失败
}
else if(response.status==“坏参数”){
//处理错误的参数
}
}
//电话表单提交处理程序
功能电话\u btn\u onclick(){
var国家代码=document.getElementById(“国家代码”).value;
var ph_num=document.getElementById(“phone_num”).value;
AccountKit.login('电话',
{countryCode:country\u code,phoneNumber:ph\u num},//如果未指定,将使用默认值
loginCallback);
}
//电子邮件表单提交处理程序
函数email\u btn\u onclick(){
var email_address=document.getElementById(“电子邮件”).value;
AccountKit.login('EMAIL',{emailAddress:EMAIL_address},loginCallback);
}
为appId
、状态
和版本
设置所需值后。我试着填写表格,但我重定向到帐户工具包页面说
很抱歉,出现问题,请重试
我们将非常感谢您在实施过程中提供的任何帮助。提前感谢问题已经解决。在facebook开发者网站的帐户工具包页面上,我将
web登录设置
上的服务器url
指向该域的所有出现,即,包括https
(如果可用)。这就解决了问题。谢谢大家。您对版本
和状态
使用的值是什么?您是否尝试将您的国家代码添加到AccountKit管理面板中的国家代码白名单
?我为AccountKit指定的版本是v1.0,状态只是一个随机数,而且面板中还添加了国家/地区
。我希望您也在面板中添加了正确的服务器url。是的,我得到的只是我们很抱歉,在我填写表单时出现了一些错误
。您当前是否在没有证明的情况下使用它?