2016-08-30 189 views
1

我已經得到了發送auth.sendCode方法,具有以下響應的點:爲什麼在電報中調用auth.signIn時會出現PHONE_NUMBER_UNOCCUPIED錯誤?

('sentCode: ', {u'req_msg_id': 6324698204597889024L, u'result': {u'type': {u'len 
gth': 5}, u'phone_registered': False, u'flags': 6, u'timeout': 120, u'next_type' 
: {}, u'phone_code_hash': '52eb4ab096ea211b52'}}) 

這是使用電報測試服務器。我在電報iPhone應用程序和桌面應用程序中成功使用了相同的電話號碼,因此我知道電話號碼在生產中有效。 (它應該是有效的測試服務器上呢?)

當我跟隨auth.sendCodeauth.signIn我收到以下錯誤響應:

('authorization: ', {u'error_message': 'PHONE_NUMBER_UNOCCUPIED', u'error_code': 
400}) 

是否有登記的電話號碼,這兩種方法之間的階梯?

+0

發送'auth.sendCode'後,你收到來自Telegram的代碼嗎? –

+0

是的。這很多工作正常。 –

回答

1

https://core.telegram.org/api/auth

的auth.sendCode方法也將返回phone_registered字段, ,其指示與該電話號碼用戶是否是 在系統中註冊。如果phone_registered == boolTrue, 授權要求調用auth.signIn。否則,必須向用戶請求基本的 信息,並且必須調用新用戶 註冊方法(auth.signUp)。

當phone_registered === boolFalse時,auth.signIn方法可以是 用於預先驗證從文本消息中輸入的代碼。如果方法返回錯誤400 PHONE_NUMBER_UNOCCUPIED,則代碼 已正確輸入。

+0

用戶通過身份驗證後,如何保存該身份驗證,以便用戶在每次啓動客戶端程序時都不必輸入新的代碼? –

+1

重用會話和鹽 - 這是一個新問題,是嗎? –

+0

這通常是如何完成的?將會話數據寫入文件,然後在客戶端啓動時重新讀取它? –

相關問題