Datacite - Вы должны сначала зарегистрировать метаданные! HTTP/1.1 412 Не выполнено предварительное условие

После миграции нашего репозитория я хочу перерегистрировать существующие Dois, чтобы они перенаправили их в наш новый репозиторий. К сожалению, документация на данные не сработала для меня. Это пример вызова из документации:

# PUT /doi
$ curl -H "Content-Type:text/plain;charset=UTF-8" -X PUT --user username:password -d "$(printf 'doi=10.5072/JQX3-61AT\nurl=http://example.org/')" https://mds.test.datacite.org/doi/10.5072/JQX3-61AT

Я изменил servern, doi а также url часть в соответствии с моими настройками. Все DOI уже зарегистрированы и связаны с метаданными. Но я получил только

HTTP/1.1 412 Precondition Failed

Обычно это происходит, если DOI не связан с потоком метаданных. Но в моем случае у DOI есть метаданные.

Работа с примерами на документ. Это не происходит в тестовом экземпляре, это происходит только в производстве.

Есть ли способ перерегистрации перенаправлений DOI на данные, используя curl?

1 ответ

Решение

Пропустив исходный код datacite, я нашел решение:

Также возможно передать параметры как параметры запроса

curl -XPUT -uusername:password "https://mds.datacite.org/doi/?doi=10.5072/JQX3-61AT&url=https://myserver/url/for/10.5072/JQX3-61AT" -d"" -H"Content-Type:application/x-www-form-urlencoded"  -i

данные теперь возвращаются

HTTP/1.1 201 Created

И редирект указывает на наш новый сервер.

Другие вопросы по тегам