python-oauth2 с твиттером oauth_callback - PullRequest
4 голосов
/ 18 мая 2011

Я использую Twython в качестве оболочки API Twitter и oauth2 для обработки аутентификации.Я пытаюсь использовать логин через твиттер, а затем перенаправить его после танца oauth на динамически генерируемый oauth_callback.Это, однако, кажется невозможным сделать с этими библиотеками прямо из коробки.Моя проблема в том, что мой oauth-клиент (python-oauth2) не поддерживает обратные URL-адреса.Я нахожу это очень странным, потому что это oauth-клиент по умолчанию, используемый Twython - зачем им было бы писать код, чтобы приспособить использование динамического обратного вызова, а затем связать библиотеку с oauth-клиентом, который не поддерживает обратные вызовы? В строке 54 установлено значение false , поэтому мой URL-адрес обратного вызова никогда не включается в URL-адрес токена запроса, поскольку требуется в спецификации oAuth 1.0a .

Я пытался изменить Twython и oauth2, но продолжаю сталкиваться с проблемами.Я хотел бы знать, есть ли альтернатива python-oauth2, которая поддерживает oauth_callback, или, возможно, альтернативная библиотека twitter, которая бы правильно обрабатывала oauth.

1 Ответ

9 голосов
/ 18 мая 2011

Нашел ответ здесь

Все, что вам нужно сделать, это передать Twython параметр callback_url и заменить строку 205 в Twython.py на

resp, content = client.request(request_token_url, "POST",body=urllib.urlencode({'oauth_callback':my_callback_url}))

Обратите внимание: если вы хотите, чтобы твиттер уважал ваш аргумент oauth_callback, запрос должен быть POST.

...