Я пытался следовать инструкциям на веб-сайте Zoom , но каждый раз, когда я пытаюсь отправить подписи, я получаю сообщение об ошибке 400.
{"timestamp":1594640701018,"status":400,"error":"Bad Request","message":"No message available","path":"/closedcaption"}
В документации сказано, что 400 возвращается, когда собрание еще не началось, но в моем тестовом сценарии у меня есть два устройства, подключенных к собранию, и я копирую токен API скрытых субтитров с хоста, прежде чем давать это в мою тестовую программу. Насколько я могу судить, это начатая встреча, так что должно быть что-то еще. Я пробовал отправлять запросы несколько раз, но все равно получаю 400 ошибок.
Я использую Python 3, и я пробовал и urllib.request
, и http.client
, но безрезультатно. Что мне не хватает?
import urllib.request
import http.client
third_party_api_token = input('Third Party CC Token: ')
domain = third_party_api_token.split('/')[2]
if 'https://' in third_party_api_token:
domain = domain + ':443'
else:
domain = domain + ':80'
seq = 1
while True:
input('Press Enter to continue')
formatted_url = '{}&lang=en-US&seq={}'.format(zoom_cc_url, seq)
# formatted_text = 'Hello World\n'.encode('utf-8')
formatted_text = 'Hello World\n'
headers = {'Content-Type':'text/plain'}
print(domain)
print(formatted_url)
try:
# r = urllib.request.Request(formatted_url, data=formatted_text, headers=headers, method='POST')
# with urllib.request.urlopen(r) as response:
# print(response.read().decode('utf-8'))
conn = http.client.HTTPSConnection(domain)
conn.request("POST", formatted_url.replace(domain, ''), body=formatted_text, headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
except Exception as e:
print(e)
seq += 1