Я работаю с Meraki API для обновления информации о порте коммутатора. Я могу добавить голосовой Vlan просто отлично. Проблема заключается в том, что я пытаюсь удалить (исключить) существующий голосовойлан через API.
Я не первый, кто сталкивается с этой проблемой: https://community.meraki.com/t5/Developers-APIs/which-parameters-in-an-API-call-are-required/m-p/61890/highlight/false#M1973
Один человек сказал, что он начал работать, когда он добавил: «Content-Type»: «application / json», но у меня уже есть это.
Мне кажется, я знаю, что не так, но я не знаю, как чтобы пройти его.
Поле voiceVlan является целочисленным полем. Если я кормлю его любым целым числом, оно работает. Новое значение успешно обновлено.
В моем файле .csv, который я передаю своей программе Python, я помещаю 'null'. Я позвонил в службу поддержки Meraki, и они сказали, что не могут создавать проблемы со сторонними (то есть личными) программами, но они сказали, что могут обновить его через cURL, используя null.
В отладчике PyCharm я вижу это:
Обратите внимание, что voiceVlan показывает пустую строку, хотя мой файл .csv имеет значение NULL в этом поле.
Затем, когда я преобразовываю dict в json (port_data =) Я вижу это:
voiceVlan - пустая строка. Это не сработает, так что это моя проблема. 'enabled': true является правильным, и именно так оно и есть в моем файле .csv. Моя проблема, которую я не знаю, как решить, заключается в том, как получить значение voiceVlan, равное нулю, а не пустую строку после того, как я преобразовать dict в json?
Значение в port_data для voiceVlan должно быть нулевым, а не пустой строкой.