Форум сайта python.su
Пытаюсь разобраться с Telegram API
Никак не пойму как правильно делать запросы.
Скажем хочу я проверить свободен ли номер телефона. Вот тут метод.
Вот как я это делаю.
query_params = {'phone_number':'375291234567' } endpoint = 'https://core.telegram.org/method/auth.checkPhone' response = requests.get(endpoint, params=query_params) data = response.json pprint.pprint(data) )
<bound method Response.json of <Response [200]>>
Офлайн
json это метод объекта Response: JSON Response Content
Сделайте
pprint.pprint(response.json())
Отредактировано GreyZmeem (Май 13, 2014 12:36:18)
Офлайн
GreyZmeem
возвращает:
ValueError: No JSON object could be decoded
Офлайн
kozlo22
Вы не прошли авторизацию.
Офлайн
Lexander
Но запрос я правильно делаю?
Офлайн
Если судить по документации, то нет.
Вы уверены, что кроме протокола MTProto поддерживается HTTPS не как контейнер, а напрямую с использованием метода GET?
Я что-то сомневаюсь. Нигде об этом не слышал.
Вот вы отправляете такой GET-запрос:
https://core.telegram.org/method/auth.checkPhone?phone_number=375291234567
Откуда информация о том, что название параметра должно быть phone_number?
Офлайн
LexanderНу так там же под заголовком “параметры” укзано:
Откуда информация о том, что название параметра должно быть phone_number?
phone_number string Phone number in the international format
LexanderПо-идее да. Так как есть браузерные версии клиентов для Telegram и нативные под винду и линукс.
Вы уверены, что кроме протокола MTProto поддерживается HTTPS не как контейнер, а напрямую с использованием метода GET?
Офлайн
kozlo22Да, а в примере вызова имя параметра не указывается.
Ну так там же под заголовком “параметры” укзано
kozlo22Согласно строгой логике, это значит, что автоматически подразумевается использование протоколов, отличных от фирменного.
По-идее да. Так как есть браузерные версии клиентов для Telegram и нативные под винду и линукс.
Офлайн
Lexander
Например, для браузера реализация MTProto может быть сделана в JavaScript или с помощью плагина.
LexanderЯ думаю, что phone_number и есть имя параметра.
Да, а в примере вызова имя параметра не указывается.
Lexander
Вы проверьте, на всякий случай, чтобы не делать лишней работы.
Отредактировано kozlo22 (Май 13, 2014 23:24:38)
Офлайн