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
И редирект указывает на наш новый сервер.