さて、私はあきらめます。 JSONを含むファイルのコンテンツを投稿しようとしています。ファイルの内容は次のようになります。
{
"id”:99999999,
"orders":[
{
"ID”:8383838383,
"amount":0,
"slotID":36972026
},
{
"ID”:2929292929,
"amount":0,
"slotID":36972026
},
{
"ID”:4747474747,
"amount":0,
"slotID":36972026
}]
}
これはおそらく適切ではないコードです:
#!/usr/bin/env python3
import requests
import json
files = {'file': open(‘example.json’, 'rb')}
headers = {'Authorization' : ‘(some auth code)’, 'Accept' : 'application/json', 'Content-Type' : 'application/json'}
r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', files=files, headers=headers)
これは動作するはずですが、非常に大きなファイルを対象としています。
import requests
url = 'https://api.example.com/api/dir/v1/accounts/9999999/orders'
headers = {'Authorization' : ‘(some auth code)’, 'Accept' : 'application/json', 'Content-Type' : 'application/json'}
r = requests.post(url, data=open('example.json', 'rb'), headers=headers)
小さいファイルを送信する場合は、文字列として送信してください。
contents = open('example.json', 'rb').read()
r = requests.post(url, data=contents, headers=headers)
まず、jsonファイルに有効なjsonが含まれていません。のように、"id”
-ここで、終了引用符は開始引用符とは異なります。他のIDフィールドにも同じエラーがあります。このようにしてください"id"
。
今、あなたはこのようにそれを行うことができます、
import requests
import json
with open('example.json') as json_file:
json_data = json.load(json_file)
headers = {'Authorization' : ‘(some auth code)’, 'Accept' : 'application/json', 'Content-Type' : 'application/json'}
r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', data=json.dumps(json_data), headers=headers)
JSONを解析し、その本体を次のように渡す必要があります。
import requests
import json
json_data = None
with open('example.json') as json_file:
json_data = json.load(json_file)
auth=('token', 'example')
r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', json=json_data, auth=auth)