7

ベータ版の一部として、特定のサービスへの REST API アクセスを取得しました。認証はOAuth2を介して行われると言われました。

私は以下を得ました:

  1. ID
  2. 秘密
  3. サイト

Ruby のコード サンプルも入手しました。

client = OAuth2::Client.new(key, secret, :site => site) 
token = client.password.get_token('your_email@mail.com', 'your_password') 
access_token = OAuth2::AccessToken.new(client, token) 
JSON.parse access_token.get("/v1/users/me").body rescue {} 

パッケージを使用してPythonでこの同じスニペットを実装しようとしていoauth2ますが、成功しませんでした:

consumer = oauth2.Consumer(key=self._client_id,
                           secret=self._client_secret)
request_token_url = "api.theservice.com/"
token = oauth2.Token(key=self._email, secret=self._password)
client = oauth2.Client(consumer, token)
resp, content = client.request(request_token_url, "GET")
pprint.pprint(resp)
pprint.pprint(content)
resp, content = client.request(request_token_url + 'v1/users/me', "GET")
pprint.pprint(resp)
pprint.pprint(content)

2 番目の応答には、次の内容が含まれます。

'www-authenticate': 'Bearer realm="Doorkeeper", error="invalid_token", '
                    'error_description="The access token is invalid"',

oauth2.Clientまた、トークンなしでオブジェクトを作成しようとしましたが、 の最初の応答を確認しましたaccess_tokenが、何も起こりませんでした。

ここで認証する適切な方法は何ですか?

4

1 に答える 1