1

APIとやり取りするためのこのようなpythonコードがあります

from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session
import json
from pprint import pprint

key = "[SOME_KEY]"          # FROM API PROVIDER
secret = "[SOME_SECRET]"    # FROM API PROVIDER

api_client = BackendApplicationClient(client_id=key)
oauth = OAuth2Session(client=api_client)

url = "[SOME_URL_FOR_AN_API_ENDPOINT]"
# GETTING TOKEN AFTER PROVIDING KEY AND SECRET
token = oauth.fetch_token(token_url="[SOME_OAUTH_TOKEN_URL]", client_id=key, client_secret=secret)

# GENERATING AN OAuth2Session OBJECT; WITH THE TOKEN:
client = OAuth2Session(key, token=token)
body = {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}
response = client.post(url, data=json.dumps(body))
pprint(response.json())

この py ファイルを実行すると、ヘッダーにコンテンツ タイプを含める必要があるという API からの応答が返されます。Oauth2Session にヘッダーを含めるにはどうすればよいですか?

{'detailedMessage': 'Your request was missing the Content-Type header. Please '
                    'add this HTTP header and try your request again.',
 'errorId': '0a8868ec-d9c0-42cb-9570-59059e5b39a9',
 'simpleMessage': 'Your field could not be created at this time.',
 'statusCode': 400,
 'statusName': 'Bad Request'}
4

1 に答える 1