数据引用 - 您必须先注册元数据!HTTP/1.1 412 前提条件失败



迁移我们的存储库后,我想重新注册现有的数字对象标识符,使它们重定向到我们的新存储库。不幸的是,数据引用文档对我不起作用。这是文档中的示例调用:

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

我根据我的设置更改了serverndoiurl部分。所有数字对象标识符都已注册并与元数据相关联。但我只得到了

HTTP/1.1 412 Precondition Failed

如果 DOI 未与元数据流关联,通常会发生这种情况。但就我而言,DOI 有元数据

通过文档上的示例进行操作。这不会发生在测试实例上,它只发生在生产环境中

有没有办法使用 curl 在数据引用上重新注册 DOI 重定向?

跳过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

重定向指向我们的新服务器。

最新更新