泽诺多
开发人员
资产净值导航栏
蟒蛇 cURL 节点JS

REST API

介绍

Zenodo REST API目前支持:

  • 存包处-上传和发布研究成果(与用户界面中可用的功能)。
  • 记录-搜索已发布的记录。
  • 文件夹-下载/上传文件。

查看快速启动有关如何执行以下操作的示例指南以编程方式上传和发布您的研究成果。

以下REST API目前正在测试中,然后我们在中启动它们贝塔带有完整的文档:

  • 社区-搜索社区。
  • 资助者-寻找资助者。
  • 赠款-搜索拨款。
  • 许可证-搜索许可证。

您可以从我们的根端点偷看测试中的API:https://zenodo.org/api/

快速启动-上传

本简短指南将快速概述如何上传和发布Zenodo,并将使用:

  1. Python与请求包裹。
  2. 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:
  • 所有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.dathttps://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”
}
  • 以下是有关旧文件API以下为:
数据 = {
     '元数据'以下为: {
         '标题'以下为: '我的第一次上传',
         '上传类型'以下为: “海报”,
         '说明'以下为: '这是我第一次上传',
         “创建者”以下为: [{“名称”以下为: “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进行身份验证。

创建个人访问令牌

  1. 注册如果你不这样做的话已经有一个了。
  2. 转到您的应用,创建新令牌.
  3. 选择您需要的OAuth范围(对于快速入门教程,您需要存款:写入存款:操作).

使用访问令牌

访问令牌必须包含在所有请求中,如下所示:

GET/api/存款/存款?access_token=<access_token>
  • URL参数(命名为访问标记):
GET/api/存款/存款授权:持有者<ACCESS_TOKEN>
  • 或作为HTTP请求头(授权):

范围

作用域为您的访问令牌分配权限,以限制对数据和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)
用于研究的方法。

列表

列出当前已验证用户的所有存款。

进口 请求
响应 = 请求.得到('/api/deposit/depositions',
                        参数={“q”以下为: '我的标题',
                                “access_token”以下为: ACCESS_TOKEN(访问_确定)})
打印(响应.杰森())
curl-i/api/deposit/depositions/?访问标记=ACCESS_TOKEN(访问_确定)

HTTP请求

GET/api/存款/存款

查询参数

参数 要求的 描述
q个
一串
可选择的 搜索查询(使用Elasticsearch查询字符串语法)。
地位
一串
可选择的 根据存款状态筛选结果(草案出版)
分类
一串
可选择的 排序顺序(最佳匹配最流行的). 用减号作为前缀,将升序改为降序(例如。-最流行的).
第页
整数
可选择的 用于分页的页码。
大小
整数
可选择的 每页要返回的结果数。
所有版本(_V)
整数/string
可选择的 显示(真的1)或者隐藏(0)所有存款版本。

成功响应

  • 代码: 200正常
  • 车身:一个数组沉积资源。

错误响应

请参见状态代码(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”}}

范围

存款:写入

成功响应

  • 代码: 201创建
  • 车身:a沉积资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

检索

检索单个沉积资源。

curl-i/api/deposit/depositions/1234?访问标记=访问_打开
进口 请求
第页 = 请求.得到(“/api/deposit/depositions/1234?access_token=access_token”)

HTTP请求

GET/api/deposit/depositions/:id

成功响应

  • 代码: 200正常
  • 车身:a沉积资源。

错误响应

请参见状态代码(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类沉积元数据资源。

成功响应

  • 代码: 200正常
  • 车身:a沉积资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

删除

删除现有沉积资源。注意,只有未公开的证词才可以被删除。

卷曲-ihttps://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

范围

存款:写入

成功响应

  • 代码: 201创建
  • 车身:空。

错误响应

  • 404未找到:存款不存在。
  • 403禁止:删除已发布的沉积。

另请参见状态代码(400和500系列错误)和错误响应.

存款文件

代表

存放文件资源用于上传和编辑Zenodo上的沉积。

存款文件

属性 描述
身份证
一串
沉积文件标识符
文件名
一串
文件的名称
文件大小
整数
文件大小(字节)
校验和
一串
文件的MD5校验和,由我们的系统计算。这允许您检查上传文件的完整性。

列表

列出给定沉积的所有沉积文件。

卷曲-ihttps://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

成功响应

  • 代码: 200正常
  • 车身:一个数组沉积文件资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

创建

上载新文件。

卷曲-ihttps://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系列错误)和错误响应.

排序

对文件进行排序以进行沉积。默认情况下,第一个文件显示在文件中预览。

卷曲-ihttps://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>”},
    "..."
]

成功响应

  • 代码: 200正常
  • 车身:一个数组沉积文件资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

检索

检索单个沉积文件。

卷曲-ihttps://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系列错误)和错误响应.

更新

更新沉积文件资源。当前唯一的用途是重命名已经已上载文件。如果您选择替换实际文件,请删除该文件并上传一个新文件。

卷曲-ihttps://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

范围

存款:写入

成功响应

  • 代码: 204无内容
  • 车身:空。

错误响应

  • 404未找到:存款文件不存在。
  • 403禁止:删除已发布的沉积。

另请参见状态代码(400和500系列错误)和错误响应.

沉积作用

发布

发布证词。注意,一旦发布了证词,您就不能再删除它。

卷曲-i-X POSThttps://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

范围

存款:操作

成功响应

  • 代码: 202接受
  • 车身:a沉积资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

编辑

解锁已提交的沉积进行编辑。

卷曲-i-X POSThttps://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

范围

存款:操作

成功响应

  • 代码: 201创建
  • 车身:a沉积资源。

错误响应

  • 400错误请求:沉积状态不允许编辑(例如。宣誓作证正在进行中).
  • 409冲突:存款正在整合中,请稍候5分钟后重试。

请参见状态代码(400和500系列错误)和错误响应.

放弃

放弃当前编辑任务中的更改。

卷曲-i-X POSThttps://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

范围

存款:操作

成功响应

  • 代码: 201创建
  • 车身:a沉积资源。

错误响应

  • 400错误请求:未编辑沉积。

请参见状态代码(400和500系列错误)和错误响应.

新版本

创建新版本的沉积。

此操作将创建一个新的存储,它将是当前资源的快照,继承元数据以及文件的快照。新版本的存款将具有与新的未发布存款类似的状态,最重要的是,其文件将可以像新存款一样进行修改。

任何时候都只能使用一个未发布的新版本存款,即:只要第一次调用产生的新版本储蓄未发布或删除,多次调用新版本操作将无效。

笔记:-此操作的响应主体不是新版本存款,而是原始资源。可以通过“最新草稿”在下面“链接”在响应正文中。-身份证用于创建此新版本的必须是身份证最新版本的。不可能使用引用所有版本的全局id。

卷曲-i-X POSThttps://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

范围

存款:操作

成功响应

  • 代码: 201创建
  • 车身:a沉积资源。

错误响应

请参见状态代码(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 都柏林核心元数据集

成功响应

  • 代码: 200正常
  • 车身:一个数组记录资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应.

搜索指南

也可以通过搜索框在Zenodo网站上执行高级搜索查询。这记录在搜索指南

检索

检索单个记录。

卷曲-ihttps://zenodo.org/api/records/1234
进口 请求
第页 = 请求.得到("https://zenodo.org/api/records/1234)

HTTP请求

GET(获取)https://zenodo.org/api/records/:id

同样,可以在收割台

成功响应

  • 代码: 200正常
  • 车身:a记录.

错误响应

请参见状态代码(400和500系列错误)和错误响应|

许可证

代表

许可证资源用于提供可以应用于Zenodo上的上传内容。

许可证

字段 描述
创建
时间戳
许可证的创建时间(ISO8601格式)。
已更新
时间戳
沉积的最后修改时间(ISO8601格式)。
元数据
对象
这个许可证元数据资源

许可证元数据

属性 描述
身份证
一串
许可证的标识符。
例子: cc-by-nc-4.0
标题
一串
许可证的名称
例子:GNU Lesser通用公共许可v3.0
网址
一串
许可证的URL
例子: http://www.opensource.org/licenses/MIT

列表

搜索许可证。

进口 请求
响应 = 请求.得到('/api/licenses/')
打印(响应.json语言())
curl/api/许可证/

HTTP请求

GET/api/许可证/

查询参数

参数 要求的 描述
q个
一串
可选择的 搜索查询(使用Elasticsearch查询字符串语法)。
第页
整数
可选择的 用于分页的页码。
大小
整数
可选择的 每页要返回的结果数。

成功响应

  • 代码: 200正常
  • 车身:一个数组许可证资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应. |

检索

检索单个许可证资源。

进口 请求
第页 = 请求.得到(“/api/licenses/cc-by-nc-4.0”)
curl/api/licenses/cc-by-nc-4.0

HTTP请求

GET/api/licenses/:id

成功响应

  • 代码: 200正常
  • 车身:a许可证资源。

错误响应

请参见状态代码(400和500系列错误)和错误响应. |

变化

2017-10-04

  • 添加了新的可选字段版本沉积元数据。
  • 添加了新的可选字段语言沉积元数据。

2017年6月15日

  • 作为存款操作的一部分,增加了对DOI版本的支持。

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 API的信息

要获得有关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架构版本。

参见示例

数据引用

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

将元数据添加到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重置 当前速率限制的重置时间