Использование OAuth в Yahoo! API-запросы (Python) - PullRequest
0 голосов
/ 21 ноября 2011

Я пытаюсь интегрировать приложение с Yahoo! API, который требует oauth-аутентификации для доступа к защищенным данным.

Я использую python-oauth2 и следую инструкциям, перечисленным в документе Yahoo Oauth Authorization Flow . Я смог выполнить все шаги по согласованию токена доступа с Yahoo, но, похоже, не смог использовать токен для аутентификации .

Вот мой код:

import oauth2 as oauth

def list_users(token):
    # token is the access token i save in the DB
    oauth_token = oauth.Token(token.token, token.secret)
    consumer = oauth.Consumer(key=settings.OATH_CONSUMER_KEY, 
                              secret=settings.OATH_SECRET)
    client = oauth.Client(consumer, oauth_token)
    resp, content = client.request((LIST_USERS_URL), "GET")
    return content

Однако все, что я могу получить - это сообщение об ошибке «Пожалуйста, предоставьте действительные учетные данные. OAuth oauth_problem =" signature_invalid », realm =" yahooapis.com ""

Что я здесь не так делаю? Все остальное работало гладко до этого момента.

1 Ответ

0 голосов
/ 26 ноября 2011

Ну, я чувствую себя немного застенчиво. Таким образом, оказывается, что Yahoo также выдает эту точную ошибку при доступе к недопустимому вызову API. Так что в моем случае я обращался к корневому API, когда мне нужно было указать вспомогательный API. Мораль истории: знайте, что ошибки oauth могут отражать другие проблемы в вашем приложении / коде.

...