JSONペイロードで複数のPOSTリクエストを同時に送信し、JSON結果を取得しようとしています。私はSOの他のいくつかの記事を読んだが、何もそのトリックをやっていない。複数のJSONペイロードを含むGrequest
def transcribe(vid_segs):
payloads = []
for vid in vid_segs:
vid = base64.b64encode(open(vid).read())
payload = {
"config": {
"encoding": "LINEAR16",
"sampleRateHertz": 16000,
"languageCode": "en-US",
"speechContexts": {
"phrases:": ["Barack", "Obama", "Barack Obama"]
}
},
"audio": {
"content": vid
}
}
payloads.append(payload)
url = "https://speech.googleapis.com/v1/speech:recognize?key=MYAPIKEY"
unsent_request = []
for payload_single in payloads:
unsent_request.append(grequests.get(url,
params=payload_single))
responses = grequests.map(unsent_request)
for response in responses:
print response.json()
response.close()
私はresponse.json()を使用している場合、それはエラーを返します:
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
私はresponse.jsonにしようとした場合、どのような返されることがちょうどオブジェクトの詳細、実際のJSONコンテンツではありません応答コード:
<bound method Response.json of <Response [404]>>
アイデアはありますか?前もって感謝します!
まず最初は多分URLが...、間違った不正な形式または不完全である、つまり404ですか?ペイロードは1つだけ送信されますか?応答がJSONではない(おそらく404のように見える)JSONDecodeErrorを取得したのを見て、デバッグして/何らかの方法で 'response'オブジェクトを参照してください(print、dir、..または単にデバッガ:pdbまたはIDEが提供できるもの) –