python-oauth2 с oauth_callback от Twitter

#python #oauth #twitter #twitter-oauth #twython

#python #oauth #Twitter #twitter-oauth #twython

Вопрос:

Я использую Twython в качестве моей оболочки API Twitter и oauth2 для обработки аутентификации. Я пытаюсь использовать логин use через Twitter, а затем перенаправляю его после запуска 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. Привет всем! Я автор Twython — это хорошая проблема, которую нужно исправить; как я отметил в другом комментарии к этой теме, я исправлю ее позже и выпущу. Спасибо!

2. Я рад быть полезным. Спасибо за отличную работу над Twython!

Ответ №1:

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

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

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

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

Комментарии:

1. Привет всем! Я автор Twython — это хорошая находка, я добавлю патч позже на этой неделе, чтобы исправить это! 😉