Я занимаюсь разработкой приложения, использующего Microsoft Graph с использованием Python 3.6.
Я получаю очень странное поведение при запросе Graph API, который использует данные запроса в качестве вложенного JSON.
Это успешный запрос:
url = f "https://graph.microsoft.com/v1.0/users/{user_id}"
headers = {
'Authorization': f 'Bearer {office365_access_token}',
'Content-Type': 'application/json'
}
data = {
"city": "Tokyo"
}
req = urllib.request.Request(url, json.dumps(data).encode("utf-8"), headers = headers, method = 'PATCH')
urllib.request.urlopen(req)
Сбой следующего обрыва с ошибкой HTTP Error 400
.В документации указано, что свойство skills
является коллекцией строк, поэтому я использовал значения массива строк:
url = f "https://graph.microsoft.com/v1.0/users/{user_principal_name}"
headers = {
'Authorization': f 'Bearer {office365_access_token}',
'Content-Type': 'application/json'
}
data = {
"skills": ["swift", "python"]
}
req = urllib.request.Request(url, json.dumps(data).encode("utf-8"), headers = headers, method = 'PATCH')
urllib.request.urlopen(req)
Единственное отличие состоит в том, является ли значение строкой или нет,Я могу вывести словарь данных в строку JSON, поэтому я не думаю, что код неправильный, но я не знаю, почему возникает эта ошибка.