我正在尝试创建一个小程序,以演示Telegram API的某些功能。我希望能够通过SMS注册和验证用户。根据user authorization guide,我需要调用auth.sendCode
RPC。但是,该代码库没有足够的文档记录,并且难以进入。
如何在Telegram中发送auth.sendCode
远程过程调用? 请提供一个代码段,其中显示了从设置和初始化开始的所有内容。
最佳答案
像这样尝试...
TLSentCode sentCode;
try {
sentCode = api.doRpcCallNonAuth(new TLRequestAuthSendCode(phone, 0, 5, "your app id", "en"));
} catch (RpcException e) {
if (e.getErrorCode() == 303) {
int destDC;
if (e.getErrorTag().startsWith("NETWORK_MIGRATE_")) {
destDC = Integer.parseInt(e.getErrorTag().substring("NETWORK_MIGRATE_".length()));
} else if (e.getErrorTag().startsWith("PHONE_MIGRATE_")) {
destDC = Integer.parseInt(e.getErrorTag().substring("PHONE_MIGRATE_".length()));
} else if (e.getErrorTag().startsWith("USER_MIGRATE_")) {
destDC = Integer.parseInt(e.getErrorTag().substring("USER_MIGRATE_".length()));
} else {
throw e;
}
api.switchToDc(destDC);
sentCode = api.doRpcCallNonAuth(new TLRequestAuthSendCode(phone, 0, 5, "youa app id", "en"));
} else {
throw e;
}
}