如何实现使用布料数字查找朋友?
我已成功实施手机号码验证,但我无法上传联系人并获得匹配的联系人..每次我都会收到同样的错误
错误:超出了限额
下面的是实施
registerReceiver(new MyResultReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (ContactsUploadService.UPLOAD_COMPLETE.equals(intent.getAction())) {
ContactsUploadResult result = intent.getParcelableExtra(ContactsUploadService.UPLOAD_COMPLETE_EXTRA);
Log.e("upload", result.totalCount + " " + result.successCount);
}
}
}, new IntentFilter("com.digits.sdk.android.UPLOAD_COMPLETE"));
sharedPreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Ref = FirebaseDatabase.getInstance().getReference().child("Users");
DigitsAuthButton digitsButton = (DigitsAuthButton) findViewById(R.id.auth_button);
digitsButton.setCallback(new AuthCallback() {
@Override
public void success(DigitsSession session, String phoneNumber) {
// TODO: associate the session userID with your user model
phone = session.getPhoneNumber();
digitsId = String.valueOf(session.getId());
Toast.makeText(getApplicationContext(), "Authentication successful for "
+ phoneNumber, Toast.LENGTH_LONG).show();
Log.e("number", "Mobile Number: " + phoneNumber);
Log.e("digit", "DigitsID " + session.getAuthToken() + " " + session.getId());
// Digits.getInstance().getActiveSession();
sendDigitANdNumber(String.valueOf(session.getId()), phoneNumber);
// startService(new Intent(PhoneVerification.this, MyResultReceiver.class));
startActivity(new Intent(PhoneVerification.this, RecentsTab.class));
finish();
}
@Override
public void failure(DigitsException exception) {
Log.d("Digits", "Sign in with Digits failure", exception);
}
});
}
Receivr
public class MyResultReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (ContactsUploadService.UPLOAD_COMPLETE.equals(intent.getAction())) {
ContactsUploadResult result = intent.getParcelableExtra(ContactsUploadService.UPLOAD_COMPLETE_EXTRA);
}
}
}
通讯录类
find.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ContactMatch();
}
});
private void ContactMatch() {
Digits.uploadContacts();
progressDialog.show();
Digits.findFriends(new ContactsCallback<Contacts>() {
@Override
public void success(Result<Contacts> result) {
if (result.data.users != null) {
// Process data
progressDialog.dismiss();
linearLayout.setVisibility(View.GONE);
Log.e("data", result.toString());
}
}
@Override
public void failure(TwitterException exception) {
progressDialog.dismiss();
// Show error
}
});
}
答案 0 :(得分:0)
Twitter限制了您可以在特定时间范围内对其API发出的请求数量。所以你达到了这个极限。如果抛出速率限制异常,您需要修改逻辑以限制请求或等待一段时间。
他们的docs page速率限制是非常彻底的,所以我建议检查一下。