Ошибка SendBird 400403 Неверное значение: JSON тело - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь создать пользователя с помощью API отправки птицы
Я использую python для вызова API, но получаю код ошибки 400403,
Если я попробую от почтальона, это сработает, не знаю, где я ' m ошибается в коде

Ниже приведен мой код -

import json
import requests

url = ‘https://api-someappidhere.sendbird.com/v3/users’

headers = {
    'Content-Type' : 'application/json; charset=utf8',
    'Api-Token' : 'secondaryApiToken'
}

data = {
    'user_id' : 'someuserId',
    'nickname' : 'somenickname',
    'profile_url' : ''
}

try:
    apiResponse = requests.post(url, headers=headers, data=data)
    apiResponse = apiResponse.json()
    
    return response

except Exception as error:
    print(error)

Я получаю следующий ответ -

{
    "hasError": false,
    "result": {
        "message": "Invalid value: \"JSON body.\".",
        "code": 400403,
        "error": true
    }
}

Справочная информация -
https://docs.sendbird.com/platform/quick_start
https://docs.sendbird.com/platform/error_codes

1 Ответ

1 голос
/ 12 июля 2020

Вы должны использовать json.dumps().

import json
import requests

url = ‘https://api-someappidhere.sendbird.com/v3/users’

headers = {
    'Content-Type' : 'application/json; charset=utf8',
    'Api-Token' : 'secondaryApiToken'
}

data = {
    'user_id' : 'someuserId',
    'nickname' : 'somenickname',
    'profile_url' : ''
}

jsonData = json.dumps(data)

try:
    apiResponse = requests.post(url, headers=headers, data=jsonData)
    apiResponse = apiResponse.json()
    
    return response

except Exception as error:
    print(error)
...