Есть ли рабочая библиотека OAuth для Python 3?
Какая самая последняя форма Oauth для Python 3?
Я пытаюсь создать screener запаса, используя мой API-интерфейс брокера, который использует Oauth. Большая часть информации, которую я нахожу, устарела или противоречит друг другу. Я видел следующие ссылки:
Oauth - Кажется, это оригинал, теперь устаревший. Я получаю сообщение об ошибке "Объект модуля" не имеет атрибута "Потребитель"
Oauth2 - более новая версия, по-видимому также устаревшая? Один из наиболее употребительных онлайн. Глюки в pip/не могут понять, как его установить.
Oauthlib - IIRC, претендует на новую замену Oauth и Oauth2
Rauth.OAuth2Service - Также возможно замена Oauth и Oauth2?
Запросы -?
Oauth_hook -?
pyoauth2 - Я получаю сообщение об отсутствии модуля с именем "клиент" в pyoauth2 init.
Никто из них не работает, как ожидалось, и я чувствую, что это связано с низкой поддержкой Oauth 3. Вы получили OAuth для работы на Python 3? Если да, то как вы это сделали?
Ответы
Ответ 1
Похоже, Requets_oauthlib работает. Здесь код, который я использовал, работает в Python 3. Я отправляю его, потому что в большинстве примеров кода я нашел используемые форматы, которые я не мог получить.
from requests_oauthlib import OAuth1
client_key = ''
client_secret = ''
resource_owner_key = ''
resource_owner_secret = ''
def query(queryurl):
headeroauth = OAuth1(client_key, client_secret, resource_owner_key,
resource_owner_secret, signature_type = 'auth_header')
return requests.get(queryurl, auth = headeroauth)
query('http://website.com')
Ответ 2
Автор rauth здесь: rauth - это клиентская библиотека, которая в настоящее время официально не поддерживает Python 3.
Однако мы работаем над этим, и там активная ветка (метко названная "python-3" ) в GitHub, которая работает. Вы можете использовать его, но имейте в виду, что ситуация может немного измениться, когда мы официально выпустим поддержку для него позже. С учетом сказанного было бы здорово, если бы люди в реальном мире проверили его, чтобы мы могли вносить изменения в экосистему Python 3.
Также обратите внимание: oauthlib не является заменой для rauth, а не клиентской библиотеки. Он пытается быть общим решением, как и python-oauth2, но он не предоставляет клиента, в отличие от python-oauth2.