3

Oauth認証を使用して、BitbucketRESTAPIへの認証済み呼び出しを行おうとしています。oauth_tokenとoauth_token_secretを正常に取得しました(これらはrequest_tokenとrequest_token_secretと同じですが、奇妙に見えますが、仕様の範囲外ではありません)。別のエンドポイントに対してAPI呼び出しを行うと、401(認証されていない)を取得します。ヘッダー認証を使用したり、oauth_tokenとoauth_token_secretをHTTPパラメーターとして渡してみましたが、結果は正常です。

コードは次のとおりです。

account_name_url = 'https://api.bitbucket.org/1.0/user'

feedback_oauth_hook = OAuthHook(
    access_token='REDACTED',
    access_token_secret='ALSO_REDACTED',
    consumer_key=CLIENT_ID,
    consumer_secret=CLIENT_SECRET,
    header_auth=True
    )

params = {
    'access_token': auth_tokens['access_token'],
    'access_token_secret': auth_tokens['access_secret']
    }

response = requests.get(account_name_url, data=params, hooks={'pre_request': feedback_oauth_hook})
4

1 に答える 1

0
import oauth2  #pip install oauth2
accessToken = oauth2.Token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
consumer_key = YOUR_COMSUMER_KEY
consumer_secret = YOUR_CONSUMER_SECRET
consumer = oauth2.Consumer(consumer_key, consumer_secret)
client = oauth2.Client(consumer, accessToken)
api_url = "https://api.bitbucket.org/1.0/user"
resp, content = client.request(api_url, "GET")
print resp, content

上記のpythonコードは私にとってはうまくいきます。

リクエスト情報を印刷します。必要なものが含まれていることに注意してくださいoauth_version=1.0。削除してみたところ、401が返ってきました。BitBucket はこれを文書化する必要があると思います。

于 2013-01-05T11:02:54.427 に答える