#curl #openstreetmap
#curl #openstreetmap
Вопрос:
Сначала я попробовал следовать инструкциям в официальной вики OpenStreetMap, несмотря на предупреждение о версии 0.6.
Рекомендуемый метод по-прежнему работает, когда требуется загрузить данные узла, но удаление узла не работает:
curl -u username:password -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173'
В документации API указано, что «Ожидается, что будет удалено действительное XML-представление элемента». Что еще мне нужно сделать, чтобы это заработало?
Моя последняя попытка не сработала:
curl -u username:password -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173' -T delete.xml
delete.xml:
<?xml version="1.0" encoding="UTF-8"?><osm><node id="6345940173" version="1" changeset="68272837" lat="48.8647893" lon="2.4283983"></node></osm>
Он просто сообщает:
Набор изменений 68272837 был закрыт в 2019-03-18 21:01:43 UTC
Я получаю тот же результат, когда сам кодирую учетные данные с помощью echo -ne username:password|base64 --wrap 0
и при вызове curl -H "Authorization: Basic <my_token>" -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173' -T delete.xml
.
Комментарии:
1. Никогда не запускайте никаких тестов API на рабочем экземпляре, всегда начинайте сначала с экземпляра разработчика! В вашем случае, почему вы не используете установленные редакторы, такие как JOSM или iD?
2.Кроме того, то, что вы пытаетесь сделать, звучит так, как будто вы хотите прочитать wiki.openstreetmap.org/wiki/Import/Guidelines прежде чем продолжить, в противном случае ваши правки будут отменены, а ваш пользователь заблокирован!
3. Последующее обсуждение: forum.openstreetmap.org/viewtopic.php?id=65958
Ответ №1:
Удаление набора изменений невозможно, поскольку он неизменяем. Я благодарю mmd за эту информацию. Вы можете понять, почему, внимательно посмотрев на эту диаграмму ниже:
Однако синтаксис, используемый в моей самой последней попытке, кажется правильным и должен работать с другими методами запроса (PUT, POST).