4

Telegram API のいくつかの機能を実証できる小さなプログラムを作成しようとしています。SMS 経由でユーザーを登録および認証できるようにしたいと考えています。ユーザー認証ガイドによると、 auth.sendCodeRPCを呼び出す必要があります。ただし、コードベースの文書化が不十分であり、理解するのが難しいことがわかっています。

auth.sendCodeTelegram でリモート プロシージャ コールを送信するにはどうすればよいですか? セットアップと初期化から始まるすべてを示すコード スニペットを提供してください。

4

1 に答える 1

0

このようにしてみてください...

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;
        }
    }
于 2014-09-05T07:38:22.153 に答える