Документация по API Brightcove скажем:
Авторизация: Basi c {client_id}: {client_secret}
Весь {client_id}: {client_secret } строка должна быть в кодировке Base64 (curl будет автоматически кодировать в Base64 строку, если вы передадите ее как --user учетные данные; в других языках вам придется самостоятельно обрабатывать кодировку Base64).
Значит ли это, что я кодирую идентификатор и секрет по отдельности, или все это? Я все еще не уверен, что я делаю неправильно. Вот мой код на данный момент:
id_key = b64encode('myid12345qwerty'.encode()).decode("utf-8")
secret_key = b64encode('mysecret12345qwerty67890'.encode()).decode("utf-8")
creds = '{'+id_key+':'+secret_key+'}'
headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + creds}
r = requests.post('https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials', headers = headers)
print(r.status_code)
print(r.text)
Это дает ошибку, которая говорит, что он не получает параметр client_id.
{"error":"invalid_client","error_description":"The "client_id" parameter is missing, does not name a client registration that is applicable for the requested call, or is not properly authenticated."}
Спасибо за любые указатели здесь.