Facebook帐户套件需要appsecret_proof参数错误

时间:2016-11-10 14:02:56

标签: android facebook

我正在尝试使用Facebook帐户套件检索用户的电话号码/电子邮件。

我总是收到错误的回复:

  

200:服务器生成错误:145:来自服务器的API调用需要   appsecret_proof参数

我已经禁用了Facebook Developer Dash Board上的选项。

  

要求服务器API调用的应用秘密

这是我的代码:

public void onLoginPhone(final View view) {
  final Intent intent = new Intent(getActivity(), AccountKitActivity.class);
  AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder =
    new AccountKitConfiguration.AccountKitConfigurationBuilder(
      LoginType.PHONE,
      AccountKitActivity.ResponseType.CODE); // or .ResponseType.TOKEN
  // ... perform additional configuration ...
  intent.putExtra(
    AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION,
    configurationBuilder.build());
  startActivityForResult(intent, APP_REQUEST_CODE);
}

这是onActivityResult:

AccountKit.getCurrentAccount(new AccountKitCallback<Account>() {
  @Override
  public void onSuccess(final Account account) {
    // Get Account Kit ID
    String accountKitId = account.getId();

    // Get phone number
    PhoneNumber phoneNumber = account.getPhoneNumber();
    String phoneNumberString = phoneNumber.toString();

    // Get email
    String email = account.getEmail();
  }

  @Override
  public void onError(final AccountKitError error) {
    // Handle Error
  }
});

2 个答案:

答案 0 :(得分:11)

解决上述问题的简单解决方案,请按照以下步骤操作。

第1步:转到Facebook开发者控制台

     https://developers.facebook.com/

第2步:

中选择您的应用
     https://developers.facebook.com/apps/

第3步:选择申请后点击产品标题下方控制台左侧面板上的帐户套件

第4步:点击“帐户套件”后,您会看到 Reuired App Secret 切换按钮,其右侧是“是”/“否”选项。

步骤5: 从那里关闭(否)所需的应用程序密钥 (在允许短信登录下面)

第6步:点击保存更改标签。

第7步:运行您的应用程序,您将得到您想要的任何内容。

如果您还有任何疑问,请随时问我。可能对你或其他人有帮助。

答案 1 :(得分:4)

我遇到了同样的问题。解决我问题的三个步骤:

  1. 关闭“App Require Secret”选项

  2. 确保已设置“启用客户端访问令牌流”选项 到“是”

  3. 用户AccountKitActivity.ResponseType.TOKEN instead of AccountKitActivity.ResponseType.CODE

  4. ResponseType.CODE永远不会返回手机号码。

    希望它有所帮助。