web-dev-qa-db-ja.com

ベアラートークンを必要とするAPIを使用してPythonでAPI呼び出しを行う

JSON API呼び出しをPythonプログラムに統合するためのヘルプを探しています。

次のAPIをPython .pyプログラムに統合して、呼び出して応答を出力できるようにしています。

APIガイダンスでは、APIへの呼び出しを許可するためにベアラートークンを生成する必要があると述べていますが、これは正常に完了しました。ただし、Python AP​​Iリクエストでこのトークンをベアラートークン認証として含める構文は不明です。

上記のリクエストは、トークンを含むcURLを使用して正常に完了できます。 「urllib」および「requests」ルートを試しましたが、役に立ちませんでした。

完全なAPIの詳細: IBM X-Force Exchange APIドキュメント-IP評価

47
user4657

ヘッダーデータのキーとしてそれを期待することを意味します

import requests
endpoint = ".../api/ip"
data = {"ip": "1.1.2.3"}
headers = {"Authorization": "Bearer MYREALLYLONGTOKENIGOT"}

print(requests.post(endpoint, data=data, headers=headers).json())
76
Joran Beasley

トークンは、次の形式に従ってAuthorizationヘッダーに配置する必要があります。

承認:Bearer [Token_Value]

以下のコード:

import urllib2
import json

def get_auth_token()
    '''
    get an auth token
    '''
     req=urllib2.Request("https://xforce-api.mybluemix.net/auth/anonymousToken")
     response=urllib2.urlopen(req)
     html=response.read()
     json_obj=json.loads(html)
     token_string=json_obj["token"].encode("ascii","ignore")
     return token_string

def get_response_json_object(url, auth_token)
    '''
      returns json object with info
    '''
    auth_token=get_auth_token()
    req=urllib2.Request(url, None, {"Authorization": "Bearer %s" %auth_token})
    response=urllib2.urlopen(req)
    html=response.read()
    json_obj=json.loads(html)
    return json_obj
15
DSG