我正在尝试使用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
}
});
答案 0 :(得分:11)
解决上述问题的简单解决方案,请按照以下步骤操作。
第1步:转到Facebook开发者控制台
https://developers.facebook.com/
第2步:从
中选择您的应用 https://developers.facebook.com/apps/
第3步:选择申请后点击产品标题下方控制台左侧面板上的帐户套件。
第4步:点击“帐户套件”后,您会看到 Reuired App Secret 切换按钮,其右侧是“是”/“否”选项。
步骤5: 从那里关闭(否)所需的应用程序密钥 (在允许短信登录下面)
第6步:点击保存更改标签。
第7步:运行您的应用程序,您将得到您想要的任何内容。
如果您还有任何疑问,请随时问我。可能对你或其他人有帮助。
答案 1 :(得分:4)
我遇到了同样的问题。解决我问题的三个步骤:
关闭“App Require Secret”选项
确保已设置“启用客户端访问令牌流”选项 到“是”
用户AccountKitActivity.ResponseType.TOKEN instead of AccountKitActivity.ResponseType.CODE
ResponseType.CODE永远不会返回手机号码。
希望它有所帮助。