Для Сбера это так
import uuid # Библиотека для генерации RqUID
# Получаем эти данные на странице разработчиков Сбера
client_id = 'xxxxx-xxxxx-xxxxx-xxxxx-xxxxx'
secret = 'xxxxx-xxxxx-xxxxx-xxxxx-xxxxx'
# Данные авторизации пользователя
auth = 'MDk4N2Y4ZTxxxxxxxxxxxxxxxDQ0Nw=='
# Генерируем токен
def get_token(user_auth):
'''
Функция генерации токена
user_auth - данные авторизации пользователя
'''
rq_uid = str(uuid.uuid4())
# эндпоинт GigaChat для генерации токена
url = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
payload='scope=GIGACHAT_API_PERS'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'RqUID': rq_uid,
'Authorization': f'Basic {user_auth}'
}
response = requests.request("POST", url, headers=headers, data=payload)
token = response.json()["access_token"]
# print(token)
return token
А потом уже этот токен вставляете в хедер POST-запроса (см. API Одноклассников)