Facebook Accountkit JAVASCRIPT实施

时间:2016-04-17 13:10:16

标签: javascript facebook

我正在尝试使用javascript实现facebook accountkit。我按照https://developers.facebook.com/docs/accountkit/web/integrating上的文档进行操作。 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 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>

以下是我的应用中的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>

appIdstateversion设置所需的值后。我尝试填写表单,但我正在重定向到帐户工具包页面说 we are sorry, something went wrong, try again

我们非常感谢您在实施过程中提供的任何帮助。提前致谢

1 个答案:

答案 0 :(得分:2)

问题已经解决。在Facebook开发者网站的帐户工具包页面上,我将server url web login settings指向所有域名,http://domain.comhttp://www.domain.com,包括https(如果有)。这解决了这个问题。谢谢大家。