01 / OVERVIEW
题录、摘要与解读,按需读取。
列表返回题录与中英文摘要;单篇详情返回已有公共解读,以及已整理的逐理论、假设和研究深读。接口读取现有内容,不会调用 AI 临时生成。已排除条目和个人上传语料(UPLOAD)不会出现在结果中;检索结果不代表期刊的完整权威目录。
可以获取
题名、作者、期刊、年月卷期、DOI 等题录,中英文摘要、中文概览、共享文章导读,以及已有的结构化深读与覆盖情况。
不通过此接口提供
PDF 或原文文件、下载链接、服务器与本地文件路径、用户私人笔记和账号资料。
访问方式
访问方式以上方服务配置卡为准;当前尚未确认是否需要 API 密钥。
向站点管理员申请 API 密钥;文献库网页登录密码不是 API 密钥。数据请求使用下面的请求头,切勿把密钥放进 URL:
Authorization: Bearer YOUR_API_KEY
配置、健康检查和 OpenAPI 描述始终公开。
02 / QUICKSTART
从一次小查询开始。
先查询题录与摘要,再按 ID 读取完整解读。以下示例按当前服务配置使用鉴权;密钥模式需替换 YOUR_API_KEY。
curl
curl --get '__API_BASE__/papers' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-urlencode 'q=leadership' \
--data-urlencode 'limit=2'Python · 仅使用标准库
urllib.request
import json
import os
from urllib.parse import urlencode
from urllib.request import Request, urlopen
base = "__API_BASE__"
key = os.environ.get("GAGA_API_KEY", "YOUR_API_KEY")
query = urlencode({"q": "leadership", "limit": 2})
request = Request(
f"{base}/papers?{query}",
headers={"Authorization": f"Bearer {key}"},
)
with urlopen(request, timeout=20) as response:
data = json.load(response)
print(json.dumps(data, ensure_ascii=False, indent=2))JavaScript · 浏览器 fetch
不携带 Cookie
const query = new URLSearchParams({ q: "leadership", limit: "2" });
const response = await fetch(`__API_BASE__/papers?${query}`, {
method: "GET",
credentials: "omit",
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const data = await response.json();
if (!response.ok) throw new Error(data.error?.message || `HTTP ${response.status}`);
console.log(data);允许跨域调用(Access-Control-Allow-Origin: *),但不使用网页登录 Cookie。此片段仅用于你自己的调试环境,不应嵌入含真实密钥的公开网页。
按 ID 获取单篇完整解读
单篇接口默认返回现有全部公共解读,无需另加参数。可试用 68935(实证研究深读)、131(理论论文)或 89391(部分覆盖);以实际响应中的内容与覆盖状态为准。
curl · 单篇详情
curl '__API_BASE__/papers/68935' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Accept: application/json'Python · 读取单篇及逐项深读
urllib.request
import json
import os
from urllib.request import Request, urlopen
base = "__API_BASE__"
key = os.environ.get("GAGA_API_KEY", "YOUR_API_KEY")
paper_id = 68935
request = Request(
f"{base}/papers/{paper_id}",
headers={"Authorization": f"Bearer {key}"},
)
with urlopen(request, timeout=20) as response:
item = json.load(response)["item"]
print(json.dumps(item, ensure_ascii=False, indent=2))
# deep_analysis may be null; missing content is not generated on request.
deep = item.get("deep_analysis") or {}
for study in deep.get("studies", []):
print(json.dumps(study, ensure_ascii=False, indent=2))03 / REFERENCE
五个入口,一个稳定的版本前缀。
| 方法与路径 | 用途 | 鉴权 |
|---|---|---|
GET /api/v1 | 版本、鉴权模式和限额 | 公开 |
GET /api/v1/health | 服务健康检查 | 公开 |
GET /api/v1/openapi.json | 机器可读接口描述 | 公开 |
GET /api/v1/papers | 检索、筛选与分页;返回题录及摘要 | 按配置 |
GET /api/v1/papers/{id} | 单篇题录、摘要及现有完整解读;返回 {"item": …} | 按配置 |
列表查询参数
所有参数均为可选;多个筛选条件组合使用。中文、空格和 DOI 中的特殊字符应使用 URL 编码。
| 参数 | 规则 | 示例 |
|---|---|---|
q | 题名、作者或 DOI 的字面子串,最多 200 个字符;期刊请用 journal 筛选 | leadership |
doi | 精确 DOI 查询,传 DOI 字符串 | 10.xxxx/example(占位) |
journal | 期刊代码或完整名称,精确匹配,不区分大小写 | AMJ |
year | 四位发表年份,范围 1000–9999 | 2024 |
limit | 每页 1–100 条,默认 20 | 20 |
cursor | 上次读取的最后一个 ID,非负整数;首请求可省略 | 0 |
04 / RESPONSE
按 ID 递增,逐页读取。
列表始终按 id ASC 排序,不按相关度或发表日期排序。仅当 pagination.has_more 为 true 时,将 next_cursor 作为下一次的 cursor,并保留相同筛选条件;读到 false 后停止。
响应结构示意 · 非真实馆藏记录
{
"items": [{
"id": 123,
"title": "Example article title",
"title_zh": "示例中文题名",
"authors": "Example Author",
"journal_code": "AMJ",
"journal_name": "Academy of Management Journal",
"year": 2024,
"month": 6,
"volume": "67",
"issue": "3",
"page_start": "1",
"doi": null,
"doi_url": null,
"article_type": null,
"updated_at": "2026-09-27T00:00:00Z",
"abstract_en": null,
"abstract_zh": "此处为示意摘要,不是真实文献内容。"
}],
"pagination": {"limit": 1, "has_more": true, "next_cursor": 123}
}
最后一页的 next_cursor 为 null。无匹配结果返回 items: [],不是 404。读取期间数据可能更新,分页不构成固定时间点的快照。
| 字段 | 含义 |
|---|---|
id | 文献唯一整数 ID,也用于单条查询与分页 |
title / title_zh | 原文题名/中文题名 |
authors | 作者字符串或 null,不是作者对象数组 |
journal_code / journal_name | 期刊简称/期刊全称 |
year / month | 发表年/月 |
volume / issue / page_start | 卷/期/起始页;不要假设这些字段都能转换成整数 |
doi / doi_url | DOI 标识符/DOI 解析链接,不是 PDF 下载地址 |
article_type / updated_at | 文章类型/记录更新时间 |
abstract_en / abstract_zh | 英文/中文摘要;缺失时可能为 null 或空字符串 |
缺失的元数据可能为 null 或空字符串,客户端应保留缺失状态,不推断补全。
单篇详情:默认包含现有完整解读
请求 /api/v1/papers/{id},不附带列表筛选或分页参数。ID 为 1–9223372036854775807 的整数。响应中的 item 包含上述全部字段,以及下列字段。解读内容是否存在,以返回值和 content_availability 为准。
已有 deep_analysis 时,逐理论、假设和研究的阅读应优先使用该对象,并核对其 coverage。其余解读字段保留早期综合整理内容,可能与深读来自不同整理阶段;不要用早期概览替代逐项深读的具体结果和覆盖说明。
| 字段 | 内容与类型 |
|---|---|
article_type_label_zh | 文章类型的中文说明,字符串;缺失为空字符串 |
feed_summary_zh / summary_zh | 简要导读/中文综合解读,字符串;缺失为空字符串 |
core_question_zh / model_zh / problem_solution_zh | 核心问题、理论模型与问题解决思路,字符串;缺失为空字符串 |
methods_zh / study_count_zh / special_paradigms_zh | 研究方法、研究安排说明及特殊范式,字符串;缺失为空字符串 |
keywords_zh / highlights_zh | 关键词/内容要点,JSON 数组 |
concepts / reading_notes / study_details | 概念解释、共享文章导读及原有分项研究说明,JSON 数组。reading_notes 是公共导读,不是用户私人笔记 |
deep_analysis | 逐项深读对象;尚未整理时为 null。结构见下表 |
content_availability | 内容可用性对象:abstract_en、abstract_zh、legacy_analysis、deep_analysis 为布尔值;deep_coverage 为 complete、partial 或 null |
逐项深读对象 deep_analysis
| 字段 | 如何使用 |
|---|---|
schema_version / article_kind | 深读结构版本与文献类型 |
overview_zh / conclusion_zh / limitations_zh | 整体问题与论证安排、综合结论、证据和外推边界 |
coverage | 覆盖对象。status 为 complete 或 partial;missing_items_zh 数组列出未覆盖材料,结合其中的阅读说明判断完整性 |
theories | 逐个理论的来源、概念解释及在本文中的作用 |
hypotheses | 逐条假设或命题的内容、推导、机制、适用边界及结果;理论预测可能尚未经验检验 |
studies | 逐项研究的问题、设计、样本、过程、测量、分析、结果与局限;理论论文可以没有研究项 |
arguments / evidence_map | 分步论证,以及主张与证据及其边界的对应关系 |
documents | 关联材料的标签和阅读位置;不含文档 URL 或下载地址 |
theories、hypotheses、studies、arguments、evidence_map 和 documents 均为数组。条目通过 id 和 theory_ids、hypothesis_ids、study_ids 等字段关联;sources 保留来源标签及页、段或行的位置,关联材料用 document_id 标识。它们不提供文件链接。各类条目的完整字段定义见 OpenAPI JSON。
deep_analysis: null 表示尚无该对象;coverage.status: "partial" 表示已有深读但仍有缺失材料。理论论文的 studies: [] 或无形式假设论文的 hypotheses: [] 不等于整理失败。接口不会为缺失内容即时补写。05 / RELIABILITY
遇到错误,按原因处理。
错误统一返回 {"error": {"code": "…", "message": "…", "request_id": "…"}}。联系管理员时提供状态码、请求时间与 request_id,不要发送密钥。
参数格式或范围不正确,修正请求后再试。
密钥缺失或无效,检查 Bearer 请求头。
接口或可访问的文献 ID 不存在。
方法不允许;数据接口使用 GET。
请求过快。等待 Retry-After 指定的时间后重试。
服务暂不可用,稍后重试或联系管理员。
06 / PLAYGROUND
手动试一次,小范围验证。
选择查询方式后手动发送。列表最多返回 5 条题录与摘要;单篇按 ID 返回已有完整解读。密钥不会写入 URL、示例代码、浏览器存储或 Cookie;只在当前页面内存中使用。
尚未发送文献请求。
查询结果将在这里显示。