REST API
介绍
Zenodo REST API目前支持:
存包处 -上传和发布研究成果(与 用户界面中可用的功能)。
记录 -搜索已发布的记录。
文件夹 -下载/上传文件。
查看 快速启动 有关如何执行以下操作的示例指南 以编程方式上传和发布您的研究成果。
以下REST API目前正在测试中,然后我们在中启动它们 贝塔 带有完整的文档:
社区 -搜索社区。
资助者 -寻找资助者。
赠款 -搜索拨款。
许可证 -搜索许可证。
您可以从我们的根端点偷看测试中的API: https://zenodo.org/api/
快速启动-上传
本简短指南将快速概述如何上传和发布 Zenodo,并将使用:
Python与 请求 包裹。
Javascript和 公理 包裹。
# 安装 python的“请求”模块 pip安装请求 # 安装 nodejs的“axios”模块 npm安装axios
首先,确保您拥有 请求 模块 为python或 公理 对于nodeJS:
蟒蛇
#Python 3.6.5版
#linux2上的[GCC 4.8.1]
#键入“help”、“copyright”、“credits”或“license”以获取更多信息。
节点
//欢迎使用Node.js v14.19.0。
//键入“.help”以获取更多信息。
进口 请求
常数 公理 = 要求 ( “公理” );
进口 请求
第页 = 请求 . 得到 ( " https://zenodo.org/api/deposit/depositions网站 " )
第页 . 状态代码
# 401
第页 . 杰森 ()
常数 公理 = 要求 ( “公理” );
公理 . 得到 ( " https://zenodo.org/api/deposit/depositions网站 " ). 然后 ( 响应 => {
控制台 . 日志 ( 响应 );
}). 抓住 ( 错误 => {
控制台 . 日志 ( 错误 . 响应 . 数据 );
});
{
“消息” 以下为: “服务器无法验证您是否有权访问 请求的URL。 您要么提供了错误的凭据(例如,错误的 密码),或者您的浏览器不知道如何提供凭据 必修的。 " ,
“状态” 以下为: 401
}
我们将尝试在不使用身份验证令牌的情况下访问API:
ACCESS_TOKEN(访问_确定) = “更改我”
第页 = 请求 . 得到 ( ' https://zenodo.org/api/deposit/depositions网站 ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
第页 . 状态代码
# 200
第页 . 杰森 ()
# []
常数 访问_打开 = “更改我”
常数 请求参数 = {
参数 以下为: {
“access_token” 以下为: ACCESS_TOKEN(访问_确定)
}
}
公理 . 得到 ( " https://zenodo.org/api/deposit/depositions网站 " , 请求参数 ). 然后 ( 响应 => {
控制台 . 日志 ( 响应 . 地位 );
// > 200
控制台 . 日志 ( 响应 . 数据 );
// > []
}). 抓住 ( 错误 => {
控制台 . 日志 ( 错误 . 响应 . 数据 );
});
让我们再试一次(替换 ACCESS_TOKEN(访问_确定)
与您新创建的个人 访问令牌):
标题 = { “内容类型” 以下为: “应用程序/json” }
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) }
第页 = 请求 . 邮递 ( ' https://sandbox.zenodo.org/api/deposit/depositions网站 ' ,
参数 = 参数 ,
杰森 = {},
''' 此处不需要标头,因为“请求”是自动的 添加了“Content-Type:application/json”,因为我们正在使用 “json=”关键字参数 headers=标题, '''
标题 = 标题 )
第页 . 状态代码
# 201
第页 . 杰森 ()
常数 请求参数 = {
参数 以下为: {
“access_token” 以下为: ACCESS_TOKEN(访问_确定)
},
标题 以下为: {
“内容类型” 以下为: “应用程序/json”
}
}
公理 . 邮递 ( " https://zenodo.org/api/deposit/depositions网站 " , 请求参数 ). 然后 ( 响应 => {
控制台 . 日志 ( 响应 . 地位 );
// 201
控制台 . 日志 ( 响应 . 数据 );
}). 抓住 ( 错误 => {
控制台 . 日志 ( 错误 . 响应 . 数据 );
});
{
“conceptrecid” 以下为: “542200” ,
“已创建” 以下为: “2020-05-19T11:58:41.606998+00:00” ,
“文件” 以下为: [],
“id” 以下为: 542201 ,
“链接” 以下为: {
“水桶” 以下为: " https://zenodo.org/api/files/568377dd-daf8-4235-85e1-a56011ad454b " ,
“放弃” 以下为: " https://zenodo.org/api/deposit/depositions/542201/actions/discard " ,
“编辑” 以下为: " https://zenodo.org/api/deposit/depositions/542201/actions/edit " ,
“文件” 以下为: " https://zenodo.org/api/deposit/depositions/542201/文件 " ,
“html” 以下为: " https://zenodo.org/deposit/542201 " ,
“最新草稿” 以下为: " https://zenodo.org/api/deposit/depositions/542201 " ,
“latest_draft_html” 以下为: " https://zenodo.org/deposit/542201 " ,
“发布” 以下为: " https://zenodo.org/api/deposit/depositions/542201/actions/publish " ,
“自我” 以下为: " https://zenodo.org/api/deposit/depositions/542201 "
},
“元数据” 以下为: {
“预存_doi” 以下为: {
“doi” 以下为: “10.5072/zenodo.542201” ,
“收到” 以下为: 542201
}
},
“已修改” 以下为: “2020-05-19T11:58:41.607012+00:00” ,
“所有者” 以下为: 12345 ,
“记录id” 以下为: 542201 ,
“状态” 以下为: “未提交” ,
“已提交” 以下为: 假 ,
“标题” 以下为: ""
}
现在,让我们上传一个新文件。 我们最近发布了一个新的API,它的性能明显更强,并且支持更大的文件大小。 虽然旧API支持每个文件100MB,但新API没有大小限制。
bucket_url = 第页 . 杰森 ()[ “链接” ][ “水桶” ]
卷曲 https://zenodo.org/api/deposit/depositions/222761?访问令牌 = $ACCESS_TOKEN(访问_确定)
{ ... “链接” 以下为: {
“水桶” 以下为: " https://zenodo.org/api/files/568377dd-daf8-4235-85e1-a56011ad454b " , ..., } , ... }
要使用 新文件API 我们将向 水桶
链接。 bucket是一个类似文件夹的对象,用于存储记录的文件。 我们的bucket URL如下所示: https://zenodo.org/api/files/568377dd-daf8-4235-85e1-a56011ad454b
可以在下面找到 链接
键入我们的记录元数据。
''' 这将流式处理位于“ /路径/to/your/file.dat 把它放在我们的桶里。 上传的文件将根据上传URL中的最后一个参数命名, ' 文件.dat “就我们而言。 '''
$ curl—上传文件/path/to/your/file.dat https://zenodo.org/api/files/568377dd-daf8-4235-85e1-a56011ad454b/file.dat?访问令牌 = $ACCES_TOKEN(接受令牌)
{ ... }
“”“新API”“”
文件名 = “my-file.zip”
路径 = “/path/to/ % s“ % 文件名
''' 目标URL是bucket链接与所需文件名的组合 用斜线隔开。 '''
具有 打开 ( 路径 , “rb” ) 作为 英尺/平方英尺 以下为:
第页 = 请求 . 放 (
" % 秒/ % s“ % ( bucket_url , 文件名 ),
数据 = 英尺/平方英尺 ,
参数 = 参数 ,
)
第页 . json语言 ()
常数 英尺 = 要求 ( “fs” );
常数 公理 = 要求 ( “公理” );
常数 文件路径 = “<FILE_PATH>' ; //替换为文件路径
常数 bucketURL = '<BUCKET_URL>' ; //替换为bucket url
常数 文件名 = '<FILE_NAME>' ; //替换为文件名
常数 代币 = “代币” ; //替换为标记值
//创建表单
常数 形式 = 新的 表单数据 ();
//将文件作为流读取
常数 流动 = 英尺 . 创建ReadStream ( 文件路径 );
形式 . 追加 ( '文件' , 流动 );
//创建请求
让 网址 = ` ${ bucketURL } / ${ 文件名 } ` ;
让 参数 = { “access_token” 以下为: 代币 }
让 标题 = {
'内容类型' 以下为: '应用程序/zip'
}
常数 请求配置 = {
数据 以下为: {
名称 以下为: 文件名 ,
... 形式
},
标题 以下为: 标题 ,
参数 以下为: 参数
}
公理 . 放 ( 网址 , 请求配置 ). 然后 ( 响应 => {
控制台 . 日志 ( 响应 . 数据 );
}). 抓住 ( 错误 => {
控制台 . 日志 ( 错误 . 响应 . 数据 );
});
{
“密钥” 以下为: “my-file.zip” ,
“mimetype” 以下为: “应用程序/zip” ,
“校验和” 以下为: “md5:2942bfabb3d05332b66eb128e0842cff” ,
“版本id” 以下为: “38a724d3-40f1-4b27-b236-ed2e43200f85” ,
“大小” 以下为: 13264 ,
“已创建” 以下为: “2020-02-26T14:20:53.805734+00:00” ,
“已更新” 以下为: “2020-02-26T14:20:53.811817+00:00” ,
“链接” 以下为: {
“自我” 以下为: " https://zenodo.org/api/files/44cc40bc-50fd-4107-b347-00838c79f4c1/dummy_example.pdf " ,
“版本” 以下为: " https://zenodo.org/api/files/44cc40bc-50fd-4107-b347-00838c79f4c1/dummy_example.pdf?版本Id=38a724d3 -40f1-4b27-b236-ed2e43200f85“ ,
“上传” 以下为: " https://zenodo.org/api/files/44cc40bc-50fd-4107-b347-00838c79f4c1/dummy_example.pdf?上传 "
},
“是头部” 以下为: 真的 ,
“删除标记” 以下为: 假
}
''' 旧API 从上一个响应中获取沉积id '''
沉积id = 第页 . 杰森 ()[ “id” ]
数据 = { “名称” 以下为: “myfirstfile.csv” }
文件夹 = { '文件' 以下为: 打开 ( “/path/to/myfirstfile.csv” , “rb” )}
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions网站/ % s/文件 % 沉积id ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) }, 数据 = 数据 ,
文件夹 = 文件夹 )
第页 . 状态代码
# 201
第页 . json语言 ()
//旧API文档不适用于javascript/NodeJS
{
“校验和” 以下为: “2b70e04bb31f2656ce967dc07103297f” ,
“名称” 以下为: “myfirstfile.csv” ,
“id” 以下为: “eb78d50b-ecd4-407a-9520-dfc7a9d1ab2c” ,
“文件大小” 以下为: “27”
}
数据 = {
'元数据' 以下为: {
'标题' 以下为: '我的第一次上传' ,
'上传类型' 以下为: “海报” ,
'说明' 以下为: '这是我第一次上传' ,
“创建者” 以下为: [{ “名称” 以下为: “Doe,John” ,
“从属关系” 以下为: “芝诺” }]
}
}
第页 = 请求 . 放 ( ' https://zenodo.org/api/deposit/depositions网站/ % s’ % 沉积id ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) }, 数据 = 杰森 . 转储 ( 数据 ),
标题 = 标题 )
第页 . 状态代码
# 200
//旧API文档不适用于javascript/NodeJS
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions网站/ % s/actions/publish’ % 沉积id ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) } )
第页 . 状态代码
# 202
//旧API文档不适用于javascript/NodeJS
不要执行这最后一步——它会让你的测试上传直接在线。
测试
我们提供了一个沙箱环境,您可以在其中测试API集成 在开发过程中。 沙盒环境位于 http://sandbox.zenodo.org .
请注意,沙箱环境可以是 随时清洗 . 此外,沙盒环境将使用10.5072前缀发布测试DOI 而不是Zenodo的普通前缀(10.5281)。
版本控制
REST API已进行版本控制。 我们努力避免做出向后不兼容的更改 但如果我们这样做,我们会发布一个新版本。 变化 到 API记录在本页上,并在我们的 Twitter帐户 .
身份验证
所有API请求都必须通过HTTPS进行身份验证。 任何超过平原的请求 HTTP将失败。 我们支持通过OAuth 2.0进行身份验证。
创建个人访问令牌
注册 如果你不这样做的话 已经有一个了。
转到您的 应用 , 到 创建新令牌 .
选择您需要的OAuth范围(对于快速入门教程,您需要 存款:写入
和 存款:操作
).
不要与任何其他人共享您的个人访问令牌,只在上面使用它 HTTPS协议。
使用访问令牌
访问令牌必须包含在所有请求中,如下所示:
GET/api/存款/存款? access_token=<access_token>
GET/api/存款/存款 授权:持有者<ACCESS_TOKEN>
范围
作用域为您的访问令牌分配权限,以限制对数据和 Zenodo的行动。 存在以下范围:
姓名
描述
存款:写入
授予对沉积的写入权限,但不允许发布上载。
存款:动作
授予发布、编辑和放弃对沉积的编辑的访问权限。
请求
API的基本URL为 https://zenodo.org/api/
.
全部 邮政
和 PUT(输出)
请求正文必须是JSON编码的,并且必须包含内容 的类型 应用程序/json
除非特定资源中另有规定 (例如,在文件上传的情况下)。 API将返回 415
错误(请参见 超文本传输协议 状态代码 和 错误响应 )如果错了 提供了内容类型。
响应
{
“字段1” 以下为: “价值” ,
“…” 以下为: "..."
}
所有响应体都是JSON编码的(UTF-8编码)。 单个资源是 表示为JSON对象:
[
{
“字段1” 以下为: “价值” ,
"..." 以下为: "..."
}
"..."
]
资源集合表示为对象的JSON数组:
YYYY-MM-DDTH:MM:SS+00:00
时间戳以UTC为单位,并根据 国际标准化组织 8601 以下为:
状态代码
我们使用以下HTTP状态代码来指示 请求。
代码
姓名
描述
200
好 啊
请求成功。 包括回复。 通常发送GET/PUT/PATCH请求。
201
创建
请求成功。 包括回复。 通常为POST请求发送。
202
认可的
请求成功。 包括回复。 通常发送POST请求,需要后台处理才能完成请求。
204
无内容
请求成功。 未包含响应。 通常发送DELETE请求。
400
错误的请求
请求失败。 错误响应 包括。
401
未经授权
由于访问令牌无效,请求失败。 错误响应 包括。
403
被禁止的
请求失败,因为缺少授权(例如,删除已提交的上传或缺少访问令牌的作用域)。 错误响应 包括。
404
找不到
由于找不到资源,请求失败。 错误响应 包括。
405
不允许的方法
由于不支持HTTP方法,请求失败。 错误响应 包括。
409
冲突
由于资源的当前状态,请求失败(例如,编辑未完全集成的deopsition)。 错误响应 包括。
415
不支持的媒体类型
由于请求标头丢失或无效,请求失败 内容类型
. 错误响应 包括。
429
请求太多
由于速率限制,请求失败。 错误响应 包括。
500
内部服务器错误
由于内部服务器错误,请求失败。 错误响应 不是 包括。 别担心,Zenodo管理员已经收到通知,将尽快处理此问题。
错误
400系列错误(例如400、401、403…)的错误响应返回为 具有两个属性的JSON对象 消息
和 地位
(HTTP状态代码),以及 可能是一个属性 错误
带有更详细的错误列表。
{
“消息” 以下为: “未找到存款” ,
“状态” 以下为: 404
}
对于更复杂的错误,我们包括属性 错误
,JSON数组 对象,每个对象都具有属性 消息
(带有可读的解释 错误),并且可能 领域
(带有包含 错误)。
包含详细错误的错误消息示例:
{
“消息” 以下为: “验证错误” ,
“状态” 以下为: 400 ,
“错误” 以下为: [
{ “字段” 以下为: “元数据.access_right” , “消息” 以下为: “不是有效的选择” },
{ “字段” 以下为: “metadata.creators.0.name” , “消息” 以下为: “名称是必需的。” },
{ “字段” 以下为: “不存在(_E)” , “消息” 以下为: “未知字段名。” }
]
}
实体
存款
代表
Deposition资源用于上传和编辑Zenodo上的记录。
存包处
字段
描述
创建
时间戳
沉积生成时间(ISO8601格式)。
国防部
一串
数字对象标识符(DOI)。 当你发表证词时,我们在 数据引用 用于您的上传,除非您手动为我们提供了一个。 该油田仅适用于已公布的沉积。
doi_url
网址
与您发布的证词的永久链接。 该油田仅适用于已公布的沉积。
文件夹
阵列
列表 沉积文件 资源。
身份证
整数
存款标识符
元数据
对象
A类 沉积元数据 资源
被改进的
时间戳
沉积的最后修改时间(ISO8601格式)。
主人
整数
沉积物所有者的用户标识符。
记录id
整数
记录标识符。 该油田仅适用于已公布的沉积。
记录url
网址
此证词记录的公共版本的URL。 该油田仅适用于已公布的沉积。
状态
一串
其中一个值: * 正在进行中
:可以更新存款元数据。 如果沉积也未提交(参见 提交
)文件也可以更新。 * 完成
:存款已公布。 * 错误
:存款处于错误状态-请联系我们的支持。
提交
布尔
证词属实已公布,否则为假。
标题
一串
沉积标题(自动设置自 元数据
). 默认为空字符串。
属性
要求的
描述
上传类型
一串
是的
受控词汇: * 出版
:出版物 * 海报
:海报 * 演示
:演示 * 数据集
:数据集 * 形象
:图像 * 视频
:视频/音频 * 软件
:软件 * 课程
:课程 * 物理对象
:物理对象 * 其他
:其他
发布类型
一串
是的,如果 上传类型
是 “出版物”
.
受控词汇: * 注释性集合
:批注集合 * 书
:书籍 * 部分
:书籍部分 * 会议主持人
:会议文件 * 数据管理计划
:数据管理计划 * 文章
:期刊文章 * 专利
:专利 * 预印本
:预打印 * 可交付成果
:项目可交付成果 * 里程碑
:项目里程碑 * 建议
:提案 * 报告
:报告 * 软件文档
:软件文档 * 分类处理
:分类处理 * 技术说明
:技术说明 * 论文
:论文 * 工作底稿
:工作文件 * 其他
:其他
图像类型
一串
是的,如果 上传类型
是 “图像”
.
受控词汇: * 图形
:图 * 情节
:绘图 * 绘画
:绘图 * 图表
:图表 * 照片
:照片 * 其他
:其他
发布_日期
一串
是的
ISO8601格式的发布日期( 年-月-日
). 默认为当前日期。
标题
一串
是的
证词标题。
创作者
对象数组
是的
证词的创作者/作者。 每个数组元素都是一个具有以下属性的对象: * 名称
:格式中的创建者名称 姓氏,名字 * 附属
:创建者的附属关系(可选)。 * 逆戟鲸
:创建者的ORCID标识符(可选)。 * gnd(接地)
:创建者的GND标识符(可选)。 例子: [{“name”:“Doe,John”,“affiliation”:“Zenodo”},{“name”:“Smith,Jane”,“atfiliation“:“Zeno”,“orcid”:“0000-0002-1694-233X”}
描述
字符串(允许HTML)
是的
沉积的摘要或描述。
访问权限(_R)
一串
是的
受控词汇: * 打开
:开放存取 * 被禁止的
:禁止进入 * 受限制的
:受限访问 * 关闭
:封闭通道 默认为 打开
.
许可证
一串
是的,如果 访问权限(_R)
是 “打开”
或 “禁运”
.
受控词汇: 所选许可证适用于此沉积中的所有文件,但不适用于根据 创意共享零 。您可以通过我们的 /api/许可证
端点 。默认为 cc-零
对于数据集和 cc-by公司
为了其他一切。
禁运日期
日期
是的,如果 访问权限(_R)
是 “禁运”
.
存放的文件何时将由系统自动公开。 默认为当前日期。
访问条件
字符串(允许HTML)
是的,如果 访问权限(_R)
是 “受限”
.
指定允许用户访问上传文件的条件。 请求访问的用户将被要求证明他们是如何满足这些条件的。 根据理由,您可以决定授予/拒绝谁访问权限。 您不允许对授权访问Zenodo上托管的数据的用户收费。
国防部
一串
不
数字对象标识符。 出版商是否已经为您存放的文件分配了DOI? 如果没有,请将字段留空,我们将在您发布时为您注册新的DOI。 内政部允许其他人轻松明确地引用您的证词。
预预留doi
对象/布尔
不
设置为 真的
,以保留数字对象标识符(DOI)。 DOI由我们的系统自动生成,无法更改。 此外,内政部未向注册 数据引用 直到你公布你的证词,因此在此之前不能使用。 如果需要将DOI包含在上传的文件中,或者需要向发布者提供数据集DOI但尚未发布数据集,则保留DOI很有用。 来自REST API的响应将包括保留的DOI。
关键字
字符串数组
不
此沉积的自由形式关键字。 例子: [“关键字1”,“关键字2”]
笔记
字符串(允许HTML)
不
附加说明。
相关标识符
对象数组
不
相关出版物和数据集的永久标识符。 支持的标识符包括:DOI、Handle、ARK、PURL、ISSN、ISBN、PubMed ID、PubMed Central ID、ADS Bibliographic Code、arXiv、Life Science identifiers(LSID)、EAN-13、ISTC、URN和URL。每个数组元素都是一个具有以下属性的对象: * 标识符
:持久标识符 * 关系
:关系。 受控词汇( 被引用人
, 引用
, 是对的补充
, 由补充
, 由继续
, 继续
, 由描述
, 描写
, has元数据
, 是元数据用于
, 是新版本
, 是上一版本
, 是的一部分
, has部件
, 被引用者
, 参考文献
, 文件编制人
, 文件
, 编译人
, 编译
, 是变量形式
, 是原始形式
, 与相同
, 是AlternateIdentifier
, 审核人
, 评论
, 是派生自
, 是的来源
, 要求
, 是必需的
, 被淘汰者
, 过时的
). * 资源类型
:相关资源的类型(基于 上传类型
, 发布类型
,以及 图像类型
字段)。 例子: [{“关系”:“isSupplementTo”,“标识符”:“10.1234/foo”},{“关联”:“引用”,“识别符”:“ https://doi.org/10.1234/bar(网址:https://doi.org/10.1234/bar) ','resource_type':'image-diagram'}]
注意,自动检测标识符类型(例如DOI),并用于验证标识符并将其规范化为标准形式。
贡献者
对象数组
不
供稿人(例如编辑、数据管理员等)。 每个数组元素都是一个具有以下属性的对象: * 名称
:格式中的创建者名称 姓氏,名字 * 类型
:参与者类型。 受控词汇表( 联系人
, 数据收集器
, 数据管理器
, 数据管理器
, 分配器
, 编辑器
, 主办机构
, 生产商
, 项目负责人
, 项目经理
, 项目成员
, 注册代理机构
, 注册机构
, 相关人员
, 研究员
, 研究小组
, 权利持有人
, 监督人
, 赞助商
, 工作包负责人
, 其他
) * 附属
:创建者的附属关系(可选)。 * 逆戟鲸
:创建者的ORCID标识符(可选)。 * gnd(接地)
:创建者的GND标识符(可选)。 例子: [{'name':'Doe,John','affiliation':'Zenodo','type':'Editor'},…]
参考文献
字符串数组
不
参考文献列表。 例子: [“Doe J(2014).Title.Publisher.DOI”,“Smith J(2014年).Tile.Publisher.DOI”]
社区
对象数组
不
您希望沉积出现的社区列表。 社区所有者将收到通知,可以接受或拒绝您的请求。 每个数组元素都是一个具有以下属性的对象: * 标识符
:社区标识符 例子: [{“标识符”:“资金支持”}]
赠款
对象数组
不
OpenAIRE支持的拨款清单,这些拨款资助了此次沉积的研究。 每个数组元素都是一个具有以下属性的对象: * 身份证
:授予ID。 例子: [{“id”:“283595”}]
(仅限欧盟委员会拨款) 或出资人DOI前缀: [{'id':'10.13039/501100000780::283595'}]
(所有赠款,建议) 接受资助者DOI前缀: 澳大利亚研究委员会 以下为: 10.13039/501100000923
奥地利科学基金会 以下为: 10.13039/501100002428
欧洲委员会 以下为: 10.13039/501100000780
欧洲环境署 以下为: 10.13039/51100000806年
芬兰科学院 以下为: 10.13039/501100002341
Recherche国家机构 以下为: 10.13039/501100001665
调整帕金森病的科学 以下为: 10.13039/100018231
Hrvatska Zaklada za Znanost公司 以下为: 10.13039/501100004488
技术基金会 以下为: 10.13039/501100001871
Ministarstvo Prosvete,Nauke i Tehnološkog Razvoja 以下为: 10.13039/501100004564
Ministastvo Znanosti,Obrazovanja i Sporta 以下为: 10.13039/501100006588
国家卫生和医学研究委员会 以下为: 10.13039/501100000925
美国国立卫生研究院 以下为: 10.13039/100000002
国家科学基金会 以下为: 10.13039/100000001
荷兰组织(Nederlandse Organisatie voor Wetenschappelijk Onderzoek) 以下为: 10.13039/501100003246
研究理事会 以下为: 10.13039/501100000690
英国研究与创新 以下为: 10.13039/100014013
瑞士国家基金会(Schweizerischer Nationalfonds zur Förderung der wissenschaftlichen Forschung) 以下为: 10.13039/501100001711
爱尔兰科学基金会 以下为: 10.13039/501100001602
社会科学研究理事会 以下为: 10.13039/100001345
蒂尔基耶·比利姆塞尔(Türkiye Bilimsel ve Teknolojik)阿拉·塔尔马·库鲁姆 以下为: 10.13039/501100004410
威康信托 以下为: 10.13039/100004440
日记_标题
一串
不
如果沉积是已发表的文章,则为期刊标题。
日志卷
一串
不
期刊卷,如果沉积是已发表的文章。
期刊发行
一串
不
如果沉积是已发表的文章,则为期刊发行。
日志_页面
一串
不
期刊页面,如果证词是发表的文章。
conference_title会议_标题
一串
不
会议名称(例如第20届高能和核物理计算国际会议)。
conference_缩写
一串
不
会议的缩写(例如CHEP’13)。
会议_日期
一串
不
会议日期(例如2013年10月14日至18日)。 如果指定了此字段,则还必须指定会议标题或缩写词。
conference_place会议地点
一串
不
会议地点以城市、国家的形式表示(例如荷兰阿姆斯特丹)。 如果指定了此字段,则还必须指定会议标题或缩写词。
conference_url(会议url)
一串
不
会议URL(例如。 http://www.chep2013.org/ ).
conference_session会议
一串
不
会议中的会议次数(例如VI)。
会议会话部分
一串
不
会话中的部件数(例如1)。
压印出版商
一串
不
书籍/报告/章节的出版商
印记_isbn
一串
不
书籍/报告的ISBN
压印_位置
一串
不
以城市、国家格式出版书籍/报告/章节的地点。
标题的一部分
一串
不
章节的书名
部分页面(_P)
一串
不
书的页码
主题_主管
对象数组
不
论文导师。 与的格式相同 创作者
.
这所大学
一串
不
授予论文大学。
学科
对象数组
不
从分类法或受控词汇表中指定主题。 每个术语必须唯一标识(例如URL)。 对于自由格式文本,请使用关键字字段。 每个数组元素都是一个具有以下属性的对象: * 学期
:来自分类法或受控词汇表的术语。 * 标识符
:术语的唯一标识符。 * 方案
:id的永久标识符方案(自动检测)。 例子: [{“术语”:“天文学”,“标识符”:“ http://id.loc.gov/authorities/subjects/sh85009003 “,”scheme“:”url“}]
版本
一串
不
资源的版本。 任何字符串都可以接受,但建议的格式是语义版本化标记(有关语义版本化的更多详细信息,请参阅 semver.org网站 ) 例子: 2.1.5
语言
一串
不
指定记录的主要语言为ISO 639-2或639-3代码,参见 国会图书馆ISO 639代码列表 . 例子: 发动机
位置
对象数组
不
位置列表 * lat(双倍):
纬度 * lon(双):
经度 * 位置(字符串):
地点名称(必填) * 描述(字符串):
地点描述(可选) 例子: [{“lat”:34.02577,“lon”:-118.7804,“place”:“Los Angeles”},{“place“:“日本富士山”,“description”:“在离山脚100英尺的地方发现样品。”}]
日期
对象数组
不
日期间隔列表 * 开始(ISO日期字符串):
开始日期(*) * 结束(ISO日期字符串):
结束日期(*) * 类型(收集、有效、撤回):
间隔的类型(必需) * 描述(字符串):
间隔的描述(可选) (*)请注意,您必须至少指定一个开始或结束日期。 要获得准确的日期,请对两者使用相同的值 开始
和 结束
. 例子: [{“开始”:“2018-03-21”,“结束”:“2018年03月25日”,“类型”:“采集”,“描述”:“标本A5采集周期”}]
方法
字符串(允许HTML)
不
用于研究的方法。
对于允许HTML的字符串字段(例如。 描述
, 笔记
),出于安全原因,只接受以下标签: 一
, 阿伯
, 首字母缩略词
, b条
, 块引用
, br个
, 代码
, 标题
, div公司
, 相对长度单位
, 我
, 锂
, ol公司
, 第页
, 之前
, 跨度
, 罢工
, 坚强的
, 附属的
, 桌子
, 标题
, 表格主体
, 头部
, 第个
, td(时域)
, 信托收据
, u个
, ul公司
.
列表
列出当前已验证用户的所有存款。
进口 请求
响应 = 请求 . 得到 ( '/api/deposit/depositions' ,
参数 = { “q” 以下为: '我的标题' ,
“access_token” 以下为: ACCESS_TOKEN(访问_确定) })
打印 ( 响应 . 杰森 ())
curl-i/api/deposit/depositions/? 访问标记 = ACCESS_TOKEN(访问_确定)
HTTP请求
GET/api/存款/存款
查询参数
参数
要求的
描述
q个
一串
可选择的
搜索查询(使用Elasticsearch查询字符串语法)。
地位
一串
可选择的
根据存款状态筛选结果( 草案
或 出版
)
分类
一串
可选择的
排序顺序( 最佳匹配
或 最流行的
). 用减号作为前缀,将升序改为降序(例如。 -最流行的
).
第页
整数
可选择的
用于分页的页码。
大小
整数
可选择的
每页要返回的结果数。
所有版本(_V)
整数/string
可选择的
显示( 真的
或 1
)或者隐藏( 假
或 0
)所有存款版本。
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
创建
创建新的沉积资源。
卷曲-i-H “内容类型:application/json” -X POST(X POST) --数据 “{}” /api/存款/存款/? 访问标记 = ACCESS_TOKEN(访问_确定) #或 卷曲-i-H “内容类型:application/json” -X POST(X POST) --数据 '{“metadata”:{“title”:“My first upload”,“upload_type”:“poster”,“description”:“This is My first上传”,“creators”:[{“name”:“Doe,John”,”affiliation“:”Zenodo“}]}' /api/存款/存款/? 访问标记 = ACCESS_TOKEN(访问_确定)
进口 杰森
进口 请求
网址 = “/api/deposit/depositions/?access_token=access_token”
标题 = { “内容类型” 以下为: “应用程序/json” }
第页 = 请求 . 邮递 ( 网址 , 数据 = "{}" , 标题 = 标题 )
HTTP请求
POST/api/存款/存款
内容类型:application/json
数据
空JSON对象 {}
或a 沉积元数据 资源。 例子: {“metadata”:{“upload_type”:“presentation”}}
范围
存款:写入
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
检索
检索单个沉积资源。
curl-i/api/deposit/depositions/1234? 访问标记 = 访问_打开
进口 请求
第页 = 请求 . 得到 ( “/api/deposit/depositions/1234?access_token=access_token” )
HTTP请求
GET/api/deposit/depositions/:id
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 . |
更新
更新现有沉积资源。
卷曲-i-H “内容类型:application/json” -X PUT(X输出) --数据 '{“metadata”:{“title”:“My first upload”,“upload_type”:“poster”,“description”:“This is My first上传”,“creators”:[{“name”:“Doe,John”,”affiliation“:”Zenodo“}]}' https://zenodo.org/api/deposit/depositions/1234?访问令牌 = ACCESS_TOKEN(访问_确定)
进口 杰森
进口 请求
数据 = {
“元数据” 以下为: {
“标题” 以下为: “我的第一次上传” ,
“upload_type” 以下为: “海报” ,
“描述” 以下为: “这是我第一次上传” ,
“创作者” 以下为: [
{ “名称” 以下为: “Doe,John” , “从属关系” 以下为: “芝诺” }
]
}
}
网址 = " https://zenodo.org/api/deposit/depositions/1234?access_token=access_token "
标题 = { “内容类型” 以下为: “应用程序/json” }
第页 = 请求 . 放 ( 网址 , 数据 = 杰森 . 转储 ( 数据 ), 标题 = 标题 )
HTTP请求
PUT/api/deposit/depositions/:id
内容类型:application/json
范围
存款:写入
{
“元数据” 以下为: {
“upload_type” 以下为: “演示文稿” ,
"..." 以下为: "..."
}
}
数据参数
A类 沉积元数据 资源。
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
删除
删除现有沉积资源。 注意,只有未公开的证词才可以 被删除。
卷曲-i https://zenodo.org/api/deposit/depositions/1234?访问令牌 = ACCESS_TOKEN-X删除
进口 请求
第页 = 请求 . 删除 ( ' https://zenodo.org/api/deposit/depositions/1234 ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
删除/api/deposit/depositions/:id
范围
存款:写入
成功响应
错误响应
404未找到
:存款不存在。
403禁止
:删除已发布的沉积。
另请参见 状态代码 (400和500系列错误)和 错误响应 .
存款文件
当心! 我们将推出一个新的文件API,这一点意义重大 性能优于当前API,并且支持更大的文件大小。 当前的API支持每个文件100MB,新的API支持每文件50GB。
代表
存放文件资源用于上传和编辑 Zenodo上的沉积。
存款文件
属性
描述
身份证
一串
沉积文件标识符
文件名
一串
文件的名称
文件大小
整数
文件大小(字节)
校验和
一串
文件的MD5校验和,由我们的系统计算。 这允许您检查上传文件的完整性。
列表
列出给定沉积的所有沉积文件。
卷曲-i https://zenodo.org/api/deposit/depositions/1234/files?访问令牌 = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 得到 ( ' https://zenodo.org/api/deposit/depositions/1234/files网站 ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
GET/api/deposit/depositions/:id/files
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
创建
上载新文件。
卷曲-i https://zenodo.org/api/deposit/depositions/1234/files?访问令牌 = ACCESS_TOKEN(访问_确定) -F类 名称 = 我的第一个文件.csv -F类 文件 = @路径/到/本地文件.csv
进口 杰森
进口 请求
网址 = ' https://zenodo.org/api/deposit/depositions/1234/files?access_token=access_token '
数据 = { “名称” 以下为: “myfirstfile.csv” }
文件夹 = { '文件' 以下为: 打开 ( '路径/to/local_file.csv' , “rb” )}
第页 = 请求 . 邮递 ( 网址 , 数据 = 数据 , 文件夹 = 文件夹 )
HTTP请求
POST/api/deposit/depositions/:id/files
内容类型:多部分/表单数据
范围
存款:写入
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
排序
对文件进行排序以进行沉积。 默认情况下,第一个文件显示在文件中 预览。
卷曲-i https://zenodo.org/api/deposit/depositions/1234/files?访问令牌 = ACCESS_TOKEN-X PUT -H(H) “内容类型:application/json” --数据 '[{“id”:“21fedcba-9876-5432-1fed-cba987654321”},{“id”:“12345678-9abc-def1-2345-6789abcdef12”}]'
进口 杰森
进口 请求
网址 = ' https://zenodo.org/api/deposit/depositions/1234/files?access_token=access_token '
标题 = { “内容类型” 以下为: “应用程序/json” }
数据 = [{ “id” 以下为: “21fedcba-9876-5432-1fed-cba987654321” },
{ “id” 以下为: '12345678-9abc-def1-2345-6789abcdef12' }]
第页 = 请求 . 放 ( 网址 , 数据 = 杰森 . 转储 ( 数据 ), 标题 = 标题 )
HTTP请求
PUT/api/deposit/depositions/:id/files
内容类型:application/json
范围
存款:写入
数据
部分的JSON数组 沉积文件 只有的资源 这个 身份证
属性。 例子:
[
{ “id” 以下为: “<file_id_1>” },
{ “id” 以下为: “<file_id_2>” },
"..."
]
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
检索
检索单个沉积文件。
卷曲-i https://zenodo.org/api/decord/depositions/1234/files/12345678-9abc-def1-2345-6789abcdef12?access_token网址 = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 得到 ( ' https://zenodo.org/api/deposit/depositions/1234/files/12345678-9abc-def1-2345-6789abcdef12 ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
GET/api/deposit/depositions/:id/files/:file_id
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
更新
更新沉积文件资源。 当前唯一的用途是重命名已经 已上载文件。 如果您选择替换实际文件,请删除该文件并 上传一个新文件。
卷曲-i https://zenodo.org/api/deposit/depositions/1234/files/21fedcba-9876-5432-1fed-cba987654321?访问令牌 = ACCESS_TOKEN-X PUT -H(H) “内容类型:application/json” --数据 '{“文件名”:“someothername.csv”}'
进口 json语言
进口 请求
网址 = ' https://zenodo.org/api/deposit/depositions/1234/files/21fedcba-9876-5432-1fed-cba987654321?access_token=access_token '
标题 = { “内容类型” 以下为: “应用程序/json” }
数据 = { “名称” 以下为: “someothername.csv” }
第页 = 请求 . 放 ( 网址 , 数据 = 杰森 . 转储 ( 数据 ), 标题 = 标题 )
HTTP请求
PUT/api/deposit/depositions/:id/files/:file_id
内容类型:application/json
范围
存款:写入
数据
A部分 沉积文件 只有 文件名
属性。 例子:
{
“名称” 以下为: “<new_file_name>”
}
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
删除
删除现有沉积文件资源。 注意,仅适用于 未发表的证词可能会被删除。
curl-i-X删除 https://zenodo.org/api/deposit/depositions/1234/files/21fedcba-9876-5432-1fed-cba987654321?访问令牌 = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 删除 ( ' https://zenodo.org/api/deposit/depositions/1234/files/21fedcba-9876-5432-1fed-cba987654321 ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
删除/api/deposit/depositions/:id/files/:file_id
范围
存款:写入
成功响应
错误响应
404未找到
:存款文件不存在。
403禁止
:删除已发布的沉积。
另请参见 状态代码 (400和500系列错误)和 错误响应 .
沉积作用
发布
发布证词。 注意,一旦发布了证词,您就不能再 删除它。
卷曲-i-X POST https://zenodo.org/api/deposit/depositions/1234/actions/publish?access_token = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions/1234/actions/publish ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
POST/api/dodeposits/depositions/:id/actions/publish
范围
存款:操作
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
编辑
解锁已提交的沉积进行编辑。
卷曲-i-X POST https://zenodo.org/api/deposit/depositions/1234/actions/edit?访问令牌 = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions/1234/actions/edit ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
POST/api/deposit/depositions/:id/actions/edit
范围
存款:操作
成功响应
错误响应
400错误请求
:沉积状态不允许编辑(例如。 宣誓作证 正在进行中
).
409冲突
:存款正在整合中,请稍候 5分钟后重试。
请参见 状态代码 (400和500系列错误)和 错误响应 .
放弃
放弃当前编辑任务中的更改。
卷曲-i-X POST https://zenodo.org/api/deposit/depositions/1234/actions/discard?access_token = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions/1234/actions/discard ' ,
参数 = { '访问_打开' 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
POST/api/deposit/depositions/:id/actions/discard
范围
存款:操作
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
新版本
创建新版本的沉积。
此操作将创建一个新的存储,它将是当前资源的快照,继承元数据以及文件的快照。 新版本的存款将具有与新的未发布存款类似的状态,最重要的是,其文件将可以像新存款一样进行修改。
任何时候都只能使用一个未发布的新版本存款,即:只要第一次调用产生的新版本储蓄未发布或删除,多次调用新版本操作将无效。
笔记: -此操作的响应主体不是新版本存款,而是原始资源。 可以通过 “最新草稿”
在下面 “链接”
在响应正文中。 - 身份证
用于创建此新版本的必须是 身份证
最新版本的。 不可能使用引用所有版本的全局id。
卷曲-i-X POST https://zenodo.org/api/deposit/depositions/1234/actions/newversion?access_token = ACCESS_TOKEN(访问_确定)
进口 请求
第页 = 请求 . 邮递 ( ' https://zenodo.org/api/deposit/depositions/1234/actions/newversion ' ,
参数 = { “access_token” 以下为: ACCESS_TOKEN(访问_确定) })
HTTP请求
POST/api/decord/depositions/:id/actions/newversion
范围
存款:操作
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
记录
代表
记录资源用于搜索已发布的记录。
列表
列出所有打开的访问记录。
进口 请求
响应 = 请求 . 得到 ( ' https://zenodo.org/api/records ' ,
参数 = { “q” 以下为: '我的标题' ,
“access_token” 以下为: ACCESS_TOKEN(访问_确定) })
打印 ( 响应 . 杰森 ())
curl-i/api/records/? 访问标记 = ACCESS_TOKEN(访问_确定)
HTTP请求
GET/api/记录/
查询参数
参数
要求的
描述
q个
一串
可选择的
搜索查询(使用Elasticsearch查询字符串语法)。
地位
一串
可选择的
根据存款状态筛选结果( 草案
或 出版
)
分类
一串
可选择的
排序顺序( 最佳匹配
或 最流行的
). 用减号作为前缀,将升序改为降序(例如。 -最流行的
).
第页
整数
可选择的
用于分页的页码。
大小
整数
可选择的
每页要返回的结果数。
所有版本(_V)
整数/string
可选择的
显示( 真的
或 1
)或者隐藏( 假
或 0
)所有版本的记录。
社区
一串
可选择的
返回属于指定社区的记录。 (使用 社区标识符
)
类型
一串
可选择的
返回指定类型的记录。 ( 出版物
, 海报
, 演示
…)
子类型
一串
可选择的
返回指定子类型的记录。 ( 期刊文章
, 预打印
, 建议书
…)
边界
一串
可选择的
返回由地理位置边界框筛选的记录。 (格式 界限=143.37158,-38.99357146.90918,-37.35269
)
习俗
一串
可选择的
返回包含指定自定义关键字的记录。 (格式 custom=[字段名称]:字段值
)
可以通过在标题中指定搜索的响应格式来请求它。
接受
描述
应用程序/json
JSON格式
应用程序/vnd.zenodo.v1+json
泽诺多
应用程序/marcxml+xml
Marc XML
应用/x-bibtex
Biptex公司
应用程序/x-datacite+xml
数据引用XML
应用程序/x-dc+xml
都柏林核心元数据集
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 .
搜索指南
也可以通过搜索框在Zenodo网站上执行高级搜索查询。 这记录在 搜索指南
检索
检索单个记录。
卷曲-i https://zenodo.org/api/records/1234
进口 请求
第页 = 请求 . 得到 ( " https://zenodo.org/api/records/1234 )
HTTP请求
GET(获取) https://zenodo.org/api/records/:id
同样,可以在 收割台
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 |
许可证
代表
许可证资源用于提供可以 应用于Zenodo上的上传内容。
许可证
字段
描述
创建
时间戳
许可证的创建时间(ISO8601格式)。
已更新
时间戳
沉积的最后修改时间(ISO8601格式)。
元数据
对象
这个 许可证元数据 资源
列表
搜索许可证。
进口 请求
响应 = 请求 . 得到 ( '/api/licenses/' )
打印 ( 响应 . json语言 ())
curl/api/许可证/
HTTP请求
GET/api/许可证/
查询参数
参数
要求的
描述
q个
一串
可选择的
搜索查询(使用Elasticsearch查询字符串语法)。
第页
整数
可选择的
用于分页的页码。
大小
整数
可选择的
每页要返回的结果数。
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 . |
检索
检索单个许可证资源。
进口 请求
第页 = 请求 . 得到 ( “/api/licenses/cc-by-nc-4.0” )
curl/api/licenses/cc-by-nc-4.0
HTTP请求
GET/api/licenses/:id
成功响应
错误响应
请参见 状态代码 (400和500系列错误)和 错误响应 . |
变化
2017-10-04
添加了新的可选字段 版本
沉积元数据。
添加了新的可选字段 语言
沉积元数据。
2017年6月15日
2016-09-12
添加了对搜索、分页、排序和筛选的支持。
速度显著提高。
2015-10-06
添加了新的可选字段 贡献者
到沉积元数据。
添加了新的可选字段 学科
沉积元数据。
添加了新的可选子字段 gnd(接地)
到 创作者
沉积元数据中。
2014-12-20
添加了新关系 是AlternateIdentifier
在子字段中 关系
到 相关标识符
沉积元数据中。
2014-12-10
添加了新关系 has部件
, 是的一部分
& 与相同
在子字段中 关系
到 相关标识符
沉积元数据中。
2014-11-20
2014-10-21
2014-09-09
2014-06-13
身份验证已从API密钥更改为OAuth 2.0。 API密钥身份验证是 已弃用,将于2014年10月逐步淘汰。 请使用 个人的 访问令牌 而不是API密钥。
2013-12-18
REST API 1.0最终版本:
从移动的沉积操作 存款/存款/:id/action
到 存款/存款/:id/actions
补充 编辑
和 丢弃
沉积作用资源。
沉积资源表示:
状态
:受控词汇已更改。
提交
:数据类型已从Timestamp更改为Bool。
2013-11-13
REST API初始版本候选。
OAI-PMH公司
Zenodo允许您通过开放档案获取我们的整个存储库 元数据收集倡议协议( OAI公司- PMH公司 ). OAI-PMH是一种广泛使用的协议,用于 获取元数据和最流行的存储库软件为 这个协议。
所有元数据都是根据 知识共享 零 ,而数据文件可能处于打开状态 访问并遵守元数据中描述的许可或封闭访问,以及 无法下载。
基本URL
我们的OAI-PMH基本端点位于 https://zenodo.org/oai2d
.
为我们的示例安装先决条件
对于这个例子,我们将使用Sickle,因为它简化了我们的工作流程并支持XML解析。
#使用pip安装镰刀组件
管道 安装 镰刀
“”“导入镰刀并通过传递基本URL初始化客户端”“”
从 镰刀 进口 镰刀
镰刀 = 镰刀 ( ' https://zenodo.org/oai2d ' )
要获得有关OAI-PMH功能的一些一般信息,我们可以使用 确定
动词。
“”使用“Identify”获取有关OAI-PMH API的信息“”
信息 = 镰刀 . 确定 ()
信息 . 粒度
#'YYYY-MM-DDThh:MM:ssZ'
信息 . 最早的日期戳
#“2014年2月3日14:41:33Z”
恢复令牌
恢复令牌仅对有效 2分钟 。如果令牌过期,您将收到 422不可处理实体
HTTP错误。
这意味着您必须使用 在那两分钟内恢复。 我们建议您将捕获的记录的任何后处理卸载到后台队列。
费率限制
OAI-PMH API与REST API一样受到限制,即您将收到 一 429请求太多
如果超出限制,则出现HTTP错误。 有关更多信息,请查看 限速文件 .
要列出我们可以使用的可用记录元数据格式 列表元数据格式
.
“每个记录的元数据有多种格式”
元数据格式 = 镰刀 . 列表元数据格式 ()
列表 ( 元数据格式 )
#[<元数据格式marcxml>,<元数据格式oai_datacite4>,…]
oai_数据
OAI DataCite(最新架构版本)-此元数据格式 专门为传播DataCite记录而设立,使用 OAI-PMH公司。 除了原始DataCite元数据之外,此格式还包含 描述元数据版本的其他几个元素,无论它是 参考质量和注册数据中心。 有关的更多信息 此格式及其模式请参阅 DataCite OAI架构 网站。
此元数据格式将始终根据最新的 可用的DataCite架构版本。
参见示例
要获取上述示例的原始XML输出,请使用查看页面的源代码 web浏览器的“查看源代码”选项。
我们建议您使用“oai_datacite”元数据格式进行采集。 这个 格式包含最完整的元数据,是我们主要支持的 导出格式。
数据引用
DataCite(最新版本)-此元数据格式仅包含原始 DataCite元数据,根据最新 DataCite架构。 请注意,此格式不是OAI-PMH 2.0版 符合。
参见示例
oai_dc
都柏林核心-此格式中只包含最小的元数据。 格式根据 OpenAIRE指南 .
参见示例
dcat公司
DCAT-基于 欧洲数据门户的DCAT应用程序配置文件(DCAT-AP) . 该格式是使用 DataCite-to-DCAT-AP XSLT . 这是目前唯一一种OAI-PMH元数据格式,它通过 dcat:分发
元素 .
参见示例
3月21日
MARC21-出于传统原因,主要支持导出格式。 请考虑 使用其他导出格式之一,因为我们可能会停止对MARC21的支持。
参见示例
集合
我们支持收割 整个存储库 以及 选择性的 收获 社区。
整个存储库
要获取整个存储库,请完全跳过 设置
参数(您仍然需要传递所需的 元数据前缀
参数)。
参见示例
“”“获取整个存储库”“”
记录 = 镰刀 . ListRecords列表记录 ( 元数据前缀 = “oai_dc” )
记录 = 记录 . 下一个 ()
#<记录oai:zenodo.org:3442216>
选择性收获
用户-<标识符>
社区集合-允许选择性采集特定社区。 更换 <标识符>
带有社区标识符。 或者每个社区 在其首页上提供了直接采集API链接,其中包括 正确的社区标识符。
参见示例
“”“从”“cfa”“社区的OAI集获取几条记录”“”
记录 = 镰刀 . ListRecords列表记录 ( 元数据前缀 = “oai_dc” , 设置 = '用户-cfa' )
记录 = 记录 . 下一个 ()
“”检查“”中记录的集合
记录 . 收割台 . 设置规格
#['openaire_data','user-cfa']
还可以使用不同的元数据格式。 为此,我们只需更换 元数据前缀
参数。
参见示例
“”使用“oai_datacite”元数据格式的社区收获“”
记录 = 镰刀 . ListRecords列表记录 ( 元数据前缀 = 'oai_datacite' , 设置 = '用户-cfa' )
记录 = 记录 . 下一个 ()
“”正在从记录“”检索元数据
记录 . 元数据
# {
#“title”:[“在ADS中计算和使用指标”],
#“创建者姓名”:[“Henneken,Edwin”],
#“标识符”:[“10.5281/zenodo.10897”],
#。。。
# }
使用多个过滤器进行收割
使用多个过滤器来获取记录可以实现更高级别的粒度,从而允许我们检索特定的记录组。
参见示例
“”使用“from”“”选择收割
记录 = 镰刀 . ListRecords列表记录 ( ** {
'元数据前缀' 以下为: “oai_dc” ,
“设置” 以下为: '用户-cfa' ,
'来自' 以下为: '2019-01-01' ,
})
记录 . 下一个 ()
#<记录oai:zenodo.org:7661>
记录 . 下一个 ()
#<记录oai:zenodo.org:6738>
关于收获的其他问题
如果您需要选择性收获,并且您的用例不受上述支持 设置,您可以 联系我们 我们可以试试 为您创建一个特定的集合。
更新时间表
大多数更新都可以立即使用,一些更新仅在OAI集中每小时反映一次。
github
{
“创造者” 以下为: [
{
“虎鲸” 以下为: "0000-0002-1825-0097" ,
“从属关系” 以下为: “猫科动物研究所” ,
“名称” 以下为: “字段,Gar”
},
{
“虎鲸” 以下为: "0000-0002-1825-0097" ,
“从属关系” 以下为: “猫科动物研究所” ,
“名称” 以下为: “猫,费利克斯”
}
],
“许可证” 以下为: “Apache-2.0” ,
“标题” 以下为: “Red-Dot:ML激光矢量检测” ,
“相关标识符” 以下为: [
{
“方案” 以下为: “doi” ,
“标识符” 以下为: “10.1234/software.paper.5678” ,
“关系” 以下为: “记录者” ,
“资源类型” 以下为: “公共文章”
}
],
“关键字” 以下为: [ “猫” , “激光器” , “行为” ],
“社区” 以下为: [
{ “标识符” 以下为: “软件卡” }
],
“拨款” 以下为: [{ “id” 以下为: "777541" }]
}
我们自动从GitHub API中提取有关您的版本的元数据。 例如,作者是根据存储库的贡献者统计信息确定的。 要覆盖一些来自常规GitHub版本的默认元数据,可以包含一个 .zenodo.json文件
文件位于GitHub存储库的根目录。
的内容 .zenodo.json文件
文件基于我们的 存款元数据文档 并且可以使用我们的 遗留存款JSON模式 .
在所示示例中,我们添加了以下元数据:
软件作者和ORCiD,通过 创作者
领域
Apache-2.0许可,通过 许可证
领域
自定义标题,通过 标题
领域
通过 相关标识符
领域
关键字,通过 关键字
领域
Zenodo社区,通过 社区
领域
资金信息,通过 赠款
领域
如何验证“.zenodo.json”文件?
创建您的 .zenodo.json文件
您应该验证它以确保它包含有效的JSON。 您可以使用类似于 JSON格式化程序和验证程序 ,或通过您喜欢的编程语言加载它。
速率限制
为了让每个人都能使用我们的内容和服务,我们必须确保我们的资源得到公平分配。 为了实现这一点,我们制定了速率限制措施,限制用户在一个时间窗口内可以执行的请求数量。 根据每个请求的复杂性和负载,不同的端点配置了不同的限制。
页
限制
来宾用户的全局限制
每分钟60个请求,每小时2000个请求
全球限额 经过身份验证的用户
每分钟100个请求,每小时5000个请求
OAI-PMH API采集
每分钟120个请求
图像记录的缩略图
每分钟20个请求
当您向我们的任何端点发出请求时,可以检查以下HTTP响应标头,以获取有关当前速率限制状态的更多信息:
HTTP标头
描述
X速率限制-限制
当前速率限制策略,即每分钟最大请求数
X-费率限制-保留
当前速率限制中剩余的请求数
X-RateLimit重置
当前速率限制的重置时间