API way to explore https:https://cdn.v2ex.com/navatar/8e98/d81f/307_normal.png?m=1635476653 https:https://cdn.v2ex.com/navatar/8e98/d81f/307_large.png?m=1635476653 2025-08-29T07:13:11Z Copyright © 2010-2018, V2EX 八字喜用神起名大师 API 接口 tag:www.v2ex.com,2025-08-29:/t/1155797 2025-08-29T07:13:11Z 2025-08-29T07:13:11Z Parry member/Parry 八字喜用神起名大师 API 接口

AI/模型 基于八字命理和五行相生相克理论 十年模型积累 / 三才五格数理 姓名 / 八字命理

gugudata api

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/name-generator

接口地址: https://api.gugudata.com/ai/name-generator?appkey={{appkey}}

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/ai/name-generator?appkey={{appkey}}

数据预览: https://www.gugudata.com/preview/name-generator

接口测试: https://api.gugudata.com/ai/name-generator/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
lastname string 姓氏
gender string 性别(男/女)
birthdatetime string N/A 公历出生年月日时,格式:YYYY 年 MM 月 DD 日 HH:MM
birthplace string N/A 出生地点(省市),用于规避可能的谐音
parentnames string 父母姓名(可选,用于亲子音韵搭配)
avoidwords string 可选避用字(可选,多个字用逗号分隔)

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data object 接口返回的完整 JSON 数据,包含命盘分析、候选名字清单、最佳推荐、注意事项等所有字段,具体可查看 DEMO 接口 返回数据

DEMO

 { "Data": { "命盘分析摘要": "王姓女婴,生于 2023 年 5 月 12 日 14:30 (癸卯年丁巳月庚午日癸未时)。八字:庚午(日主)、丁巳、癸卯、癸未。日主庚金生于巳月火旺之地,失令;地支巳午未三会火局,火势极旺克金;天干双癸水透出,但水弱难制火。全局火旺土燥,金弱无根,为身弱格局。五行分析:火极旺(官杀),土旺(印星),金弱(日主),水弱(食伤),木休(财星)。喜用神为首选水(调候降温、制火护金),次选土(化火生金)。忌神为火、木。", "候选名字清单": [ { "姓名全称": "王清涵", "汉语拼音": "Wáng Qīnghán", "五行补益分析": "补水(清、涵均属水),水能制火调候,并生助日主庚金", "三才五格分析": "天格 5(土)-人格 16(土)-地格 24(火)-总格 28(金)-外格 13(火)。三才配置:土土火。人格 16 为主运,厚重载德之吉数;总格 28 为磨铁成针之吉数,但地格 24 和外格 13 为火,需注意火旺压力。整体数理吉凶:吉多于凶(评分 92 )", "经典出处": "无特定典籍出处,但清涵取自清泉涵玉之意,符合水象雅韵", "现代寓意解读": "清:清澈高洁;涵:包容涵养。名字寓意女子冰清玉洁、胸怀宽广,音韵柔美流畅" }, { "姓名全称": "王沐瑶", "汉语拼音": "Wáng Mùyáo", "五行补益分析": "补水(沐属水)、补金(瑶属金,金生水助用神),水金相生强化调候", "三才五格分析": "天格 5(土)-人格 13(火)-地格 24(火)-总格 28(金)-外格 16(土)。三才配置:土火火。人格 13 为智略超群之吉数;总格 28 为吉数。但地格 24 火旺,需结合八字注意火势。整体数理吉凶:中吉(评分 91 )", "经典出处": "无", "现代寓意解读": "沐:润泽沐浴;瑶:美玉。名字寓意如沐春风、温润如玉,现代感强且女性化" }, { "姓名全称": "王雨宸", "汉语拼音": "Wáng Yǔchén", "五行补益分析": "补水(雨属水),水为第一用神,直接调候降温", "三才五格分析": "天格 5(土)-人格 13(火)-地格 18(金)-总格 22(木)-外格 11(木)。三才配置:土火金。人格 13 吉;地格 18 金吉,补益日主;总格 22 木为凶数(秋草逢霜),但八字忌木,需谨慎。整体数理吉凶:吉凶参半(评分 90 )", "经典出处": "无", "现代寓意解读": "雨:甘霖;宸:帝王居所。名字寓意天降福泽、尊贵大气,音韵抑扬顿挫" }, { "姓名全称": "王溪然", "汉语拼音": "Wáng Xīrán", "五行补益分析": "补水(溪属水),水制火调候,然字属火但为虚词影响小", "三才五格分析": "天格 5(土)-人格 18(金)-地格 20(水)-总格 24(火)-外格 13(火)。三才配置:土金水。人格 18 金吉,补益日主;地格 20 水吉,助用神;但总格 24 火为忌。整体数理吉凶:中吉(评分 91 )", "经典出处": "无", "现代寓意解读": "溪:溪流;然:自然之态。名字寓意恬静自然、清澈灵动,符合现代简约审美" }, { "姓名全称": "王沁怡", "汉语拼音": "Wáng Qìnyí", "五行补益分析": "补水(沁属水),水为用神;怡属土,土能化火生金,为次用神", "三才五格分析": "天格 5(土)-人格 13(火)-地格 17(金)-总格 21(木)-外格 10(水)。三才配置:土火金。人格 13 吉;地格 17 金吉,补日主;外格 10 水凶(万事终局),但水为用神可化解。整体数理吉凶:吉多于凶(评分 90 )", "经典出处": "无", "现代寓意解读": "沁:渗透滋润;怡:愉悦安然。名字寓意心旷神怡、温婉可人,音韵柔和" } ], "最佳推荐": [ { "姓名": "王清涵", "综合评分": 95, "推荐理由": "五行双水强补用神,数理人格 16 吉、总格 28 吉,音韵平仄协调(阳平-阴平-阳平),无方言不良谐音(检测吴语区:苏州话无歧音),寓意高雅且重名率低" }, { "姓名": "王沐瑶", "综合评分": 93, "推荐理由": "水金相生契合喜用,数理人格 13 智略吉,现代感强,音律优美(阳平-去声-阳平),避用字检查无误" } ], "注意事项": "1. 八字火旺,避免使用火、木属性字(如炎、琳、森等); 2. 地格数理 24 虽为吉数,但属火,需结合名字五行化解; 3. 出生在苏州(吴语区),已检测候选名字无当地方言不良谐音(如王沐瑶在苏州话中无歧义); 4. 所有用字均符合通用规范汉字表一级字库。" } } 
]]> PPT 转高精度图片 API 接口 tag:www.v2ex.com,2025-07-30:/t/1148872 2025-07-30T14:35:33Z 2025-07-30T19:20:29Z Parry member/Parry PPT 转高精度图片 API 接口

文件处理 / 图片处理,将 PPT 文件转换为图片序列。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/ppt-to-images

接口地址: https://api.gugudata.com/imagerecognition/ppt-to-images?appkey=YOUR_APPKEY

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/imagerecognition/ppt-to-images?appkey=YOUR_APPKEY

数据预览: https://www.gugudata.com/preview/ppt-to-images

接口测试: https://api.gugudata.com/imagerecognition/ppt-to-images/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
file file PPT 文件,支持 .ppt 和 .pptx 格式

4. 返回参数

参数名 参数类型 备注
DataStatus.RequestParameter string 请求参数字符串
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 转换后的图片总数
Data array 转换后的图片 URL 数组,支持永久存储
]]>
网页 URL 转 Markdown API 接口 tag:www.v2ex.com,2025-07-20:/t/1146436 2025-07-20T08:28:16Z 2025-07-20T08:28:16Z Parry member/Parry 网页 URL 转 Markdown API 接口

网站工具 将任意网页 URL 转换为 Markdown 格式文本 网页内容提取 / 网页解析 网站工具 / markdown

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/url2markdown

接口地址: https://api.gugudata.com/websitetools/url2markdown

返回格式: application/json; charset=utf-8

请求方式: GET

请求协议: HTTPS

请求示例: https://api.gugudata.com/websitetools/url2markdown?appkey=YOUR_APPKEY&url=https://www.example.com

数据预览: https://www.gugudata.com/preview/url2markdown

接口测试: https://api.gugudata.com/websitetools/url2markdown/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
url string https://www.example.com 需要转换的网页 URL 地址,必须是有效的 HTTP 或 HTTPS 链接

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data string 网页转换后的 Markdown 格式内容
]]>
PPT 转高精度 PDF API 接口 tag:www.v2ex.com,2025-05-16:/t/1132185 2025-05-16T04:59:30Z 2025-05-16T04:59:30Z Parry member/Parry PPT 转高精度 PDF API 接口

图像/转换 将 PPT 文件转换为 PDF 文档 文件转换 / 超高精度与还原度 文件转换 / PDF 。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/ppt-to-pdf

接口地址: https://api.gugudata.com/imagerecognition/ppt-to-pdf?appkey={{YOUR_APPKEY}}

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/imagerecognition/ppt-to-pdf?appkey={{YOUR_APPKEY}}

数据预览: https://www.gugudata.com/preview/ppt-to-pdf

接口测试: https://api.gugudata.com/imagerecognition/ppt-to-pdf/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
file file PPT 文件,支持 .ppt 和 .pptx 格式

4. 返回参数

参数名 参数类型 备注
DataStatus.RequestParameter string 请求参数字符串
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
Data string 转换后的 PDF 文件下载 URL ,支持永久存储
]]>
2025 年有哪些可用的短信提醒的邮箱服务 tag:www.v2ex.com,2025-03-28:/t/1121808 2025-03-28T08:44:14Z 2025-03-28T22:43:52Z vxthon member/vxthon 使用 Uptime Kuma 监控一些服务,期望可以及时的收到通知。目前看配合 iOS 快捷指令 + 短信自动化可以完美实现。但是目前阿里云短信服务对个人开发者审核体验很差,运营商也各种限制和发送失败。

目前好用的邮箱服务,带短信通知的有哪些?收费和付费都可以。目前查到 139 邮箱可以,但是限制移动号码。

]]>
全球 QS 世界大学排名数据 API 接口 tag:www.v2ex.com,2025-03-14:/t/1118341 2025-03-14T02:10:09Z 2025-03-14T02:10:09Z Parry member/Parry 全球 QS 世界大学排名数据 API 接口 高等教育,详细排名指标和得分信息,全球排名,高等教育。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/global-university-ranking

接口地址: https://api.gugudata.com/metadata/global-university-ranking

返回格式: application/json; charset=utf-8

请求方式: GET

请求协议: HTTPS

请求示例: https://api.gugudata.com/metadata/global-university-ranking?appkey=YOUR_APPKEY&name=&pageIndex=1&pageSize=10

数据预览: https://www.gugudata.com/preview/global-university-ranking

接口测试: https://api.gugudata.com/metadata/global-university-ranking/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
name string 学校名称,支持模糊搜索,不传则返回所有数据
pageindex int 1 分页参数,第几页,默认值为 1
pagesize int 10 分页参数,每页条数,取值范围在 1 ~ 20 之间(含)

4. 返回参数

参数名 参数类型 备注
DataStatus.RequestParameter string 请求参数字符串
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data.Id string 咕咕数据平台大学唯一标识
Data.UniversityName string 大学名称
Data.Region string 所在地区
Data.Country string 所在国家
Data.City string 所在城市
Data.LogoUrl string 大学 Logo 图片地址
Data.Rank string 综合排名
Data.AcademicReputationRank string 学术声誉排名
Data.AcademicReputationScore string 学术声誉得分
Data.CitationsPerFacultyRank string 每名教师的引用率排名
Data.CitationsPerFacultyScore string 每名教师的引用率得分
Data.FacultyStudentRatioRank string 师生比例排名
Data.FacultyStudentRatioScore string 师生比例得分
Data.EmployerReputationRank string 雇主声誉排名
Data.EmployerReputationScore string 雇主声誉得分
Data.EmploymentOutcomesRank string 就业成果排名
Data.EmploymentOutcomesScore string 就业成果得分
Data.InternationalStudentRatioRank string 国际学生比例排名
Data.InternationalStudentRatioScore string 国际学生比例得分
Data.InternationalResearchNetworkRank string 国际研究网络排名
Data.InternationalResearchNetworkScore string 国际研究网络得分
Data.InternationalFacultyRatioRank string 国际教师比例排名
Data.InternationalFacultyRatioScore string 国际教师比例得分
Data.SustainabilityRank string 可持续发展排名
Data.SustainabilityScore string 可持续发展得分
]]>
盲派八字推理 API 数据接口 tag:www.v2ex.com,2025-02-26:/t/1114240 2025-02-26T01:00:11Z 2025-02-26T06:03:14Z Parry member/Parry 盲派八字推理 API 数据接口

AI / 八字命理 基于八字命理分析 命理分析 / 八字运势。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/bazi-fortune-teller

接口地址: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}

数据预览: https://www.gugudata.com/preview/bazi-fortune-teller

接口测试: https://api.gugudata.com/ai/bazi-fortune-teller/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string 付费后获取的 APPKEY
userinfo string N/A 用户输入的个人信息,包括性别、公历或者农历出生日期及出生时间

4. 返回参数

参数名 参数类型 备注
DataStatus.RequestParameter string 请求的参数
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
Data.八字 string 八字排盘结果
Data.五行 string 五行属性分析
Data.命宫 string 命宫信息
Data.身宫 string 身宫信息
Data.大运 array 每个阶段的大运信息,包括起始年份、终止年份和运势名称
Data.运势分析 object 学业、婚姻、财运、健康、体貌特征及关键事件分析
Data.综合评价 string 总体运势评价
]]>
URL 生成网站截图 API 数据接口 tag:www.v2ex.com,2025-02-16:/t/1111751 2025-02-16T04:35:29Z 2025-02-16T04:35:29Z Parry member/Parry URL 生成网站截图 API 数据接口

网站工具 / 截图 高效生成网页截图 生成网页截图 / 图片输出。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/url2image

接口地址: https://api.gugudata.com/websitetools/url2image

返回格式: application/json; charset=utf-8

请求方式: GET

请求协议: HTTPS

请求示例: https://api.gugudata.com/websitetools/url2image?appkey=YOUR_APPKEY&url=YOUR_VALUE&width=250&height=250&viewportWidth=1080&viewportHeight=1080&forceReload=false&isMobile=false&isFullPage=false&isDarkMode=false

数据预览: https://www.gugudata.com/preview/url2image

接口测试: https://api.gugudata.com/websitetools/url2image/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
url string YOUR_VALUE 需要截取的网页 URL 地址
width int 250 输出截图的宽度,默认值为 250
height int 250 输出截图的高度,默认值为 250
viewportwidth int 1080 渲染视窗的宽度,默认值为 1080
viewportheight int 1080 渲染视窗的高度,默认值为 1080
forcereload boolean false 强制重新加载缓存的图片,默认值为 false
ismobile boolean false 是否以移动设备的 User Agent 渲染,默认值为 false
isfullpage boolean false 是否截取整个页面而非视窗裁剪,默认值为 false
isdarkmode boolean false 是否优先采用深色模式,默认值为 false

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data string 生成的截图图片流,可直接用于展示
]]>
URL 转静态 HTML 文件 API 数据接口 tag:www.v2ex.com,2025-01-10:/t/1104226 2025-01-10T09:52:43Z 2025-01-10T09:52:43Z Parry member/Parry URL 转静态 HTML 文件 API 数据接口

网站工具 / HTML 高效转换 URL 到静态 HTML 生成静态 HTML 站点 / 永久存储。

gugudata_api_cover

1. 产品功能

支持非 SPA 网站内容转换; 超高的还原度与转换性能; 站点资源压缩到一个单一的文件; 输出 HTML 文件永久 CDN 存储地址; 输出可直接访问的 HTML 站点文件;

2. API 文档

接口详情: https://www.gugudata.com/api/details/url2html

接口地址: https://api.gugudata.com/websitetools/url2html

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/websitetools/url2html

数据预览: https://www.gugudata.com/preview/url2html

接口测试: https://api.gugudata.com/websitetools/url2html/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
url string YOUR_VALUE 需要转换的网页 URL 地址,注意 SPA 类站点可能有获取不到页面内容的情况

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data string 生成的 HTML 文件 CDN 地址
]]>
PDF 转 HTML API 数据接口 tag:www.v2ex.com,2024-11-22:/t/1091915 2024-11-22T14:16:10Z 2024-11-23T07:30:08Z Parry member/Parry PDF 转 HTML API 数据接口

文件处理 / PDF 高效 PDF 转 HTML 工具 生成 HTML 站点 / 可永久存储。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/pdf2html

接口地址: https://api.gugudata.com/imagerecognition/pdf2html?appkey={{appkey}}

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/imagerecognition/pdf2html?appkey={{appkey}}

数据预览: https://www.gugudata.com/preview/pdf2html

接口测试: https://api.gugudata.com/imagerecognition/pdf2html/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
file file YOUR_VALUE formdata 文件流

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data string 生成的 HTML 文件 CDN 地址
]]>
有没有可以利用 AI,精确识别截屏中特定内容坐标的 API? tag:www.v2ex.com,2024-10-28:/t/1084371 2024-10-28T09:46:13Z 2024-10-28T09:51:42Z Charon2050 member/Charon2050 我想输入一张截屏图片和一个用自然语言描述的目标,返回目标的精确坐标

比如输入 {"https://ooo.0x0.ooo/2024/10/28/OD3TzB.png", "发布按钮"}

返回 (517,880)

]]>
有哪些开源程序可以快速构建 API 服务 tag:www.v2ex.com,2024-10-18:/t/1081633 2024-10-18T15:03:53Z 2024-11-06T15:13:54Z huage member/huage 一个 GET API URL 设计的有趣问题 tag:www.v2ex.com,2024-09-25:/t/1075825 2024-09-25T14:35:53Z 2024-10-03T11:33:50Z teli member/teli URL 内含资源标识

现要修改设计:
如果是本人创建的资源,可以获取到全部信息
如果不是本人创建的资源,可以获取到概要信息

要求:
1. 中间有道网关,以 URL 为缓存 KEY ,(因为简化了设计)不考虑 HTTP 头中的缓存控制信息 。因此相同的 URL 应该返回相同的内容
2. 不考虑把一个请求,拆分为两个。比如:先请求资源的创建者是谁,再请求资源信息
3. 开始时,客户端不知道当前用户 是不是资源的创建者
4. URL 中不能带用户标识,不然网关的缓存形同虚设


那么,这个 API URL 应该怎么设计? ]]>
有没有能获取淘宝详情的 api 平台 tag:www.v2ex.com,2024-09-23:/t/1075156 2024-09-23T09:55:48Z 2024-09-23T09:55:48Z ikigai member/ikigai 请问有什么 Midjourney API 站点? tag:www.v2ex.com,2024-08-30:/t/1068912 2024-08-30T01:09:10Z 2024-08-30T01:08:10Z tsja member/tsja 程序内想要调用 Midjourney API, 最好是国内能够访问的, 谢谢各位 v 友了.

]]>
兄弟们,能推荐个植物数据库吗 tag:www.v2ex.com,2024-08-13:/t/1064578 2024-08-13T03:25:35Z 2024-08-13T05:22:35Z sxms77777 member/sxms77777 想搞个植物相关 app ,记录浇水时间啥的。但是植物信息不知道从哪里获取。兄弟们有知道的植物数据库吗

]]>
HTML 转 PDF API 接口 tag:www.v2ex.com,2024-08-10:/t/1064014 2024-08-10T09:24:20Z 2024-08-10T09:24:20Z Parry member/Parry HTML 转 PDF API 接口

支持网页转 PDF 。

gugudata_api_cover

1. 产品功能

2. API 文档

API 详情地址: https://www.gugudata.com/api/details/html2pdf

接口请求地址: https://api.gugudata.com/imagerecognition/html2pdf

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/imagerecognition/html2pdf

数据预览: https://www.gugudata.com/preview/html2pdf

接口测试: https://api.gugudata.com/imagerecognition/html2pdf/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
type string YOUR_VALUE 可选参数为 HTML 或 URL
content string YOUR_VALUE 内容正文,如果 type=HTML ,那么传递 HTML 内容;如果 type=URL ,那么传递需要存储为 PDF 的站点 URL 即可

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data string 转换后的 PDF 永久链接
]]>
考题相似度 AI 分析 API 数据接口 tag:www.v2ex.com,2024-08-02:/t/1062058 2024-08-02T07:55:29Z 2024-08-02T07:55:29Z Parry member/Parry 考题相似度 AI 分析 API 数据接口

基于 AI 的相似度评估,专有 AI 模型,包含评估详情 。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/exam-question-similarity

接口地址: https://api.gugudata.com/education/exam-question-similarity

返回格式: application/json; charset=utf-8

请求方式: POST

请求协议: HTTPS

请求示例: https://api.gugudata.com/education/exam-question-similarity

数据预览: https://www.gugudata.com/preview/exam-question-similarity

接口测试: https://api.gugudata.com/education/exam-question-similarity/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
exam1 string 第一个考试题目或段落的文本
exam2 string 第二个考试题目或段落的文本,用于与第一个进行相似度比较

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
Data.score number 两个考试题目或段落之间的相似度分数,范围为 0 - 10 ,精度为小数点后两位,如 0.85 ,10 为完全相同
Data.analysis_result string 相似度分析结果描述
]]>
历年高校招生计划数据 API 数据接口 tag:www.v2ex.com,2024-07-04:/t/1054878 2024-07-04T08:57:20Z 2024-07-04T08:57:20Z Parry member/Parry 历年高校招生计划数据 API 数据接口

基础数据 / 高校招生,各高校历年招生计划数据,高校招生数据 / 历年计划。

gugudata_api_cover

1. 产品功能

2. API 文档

接口详情: https://www.gugudata.com/api/details/collegeenrollmentplan

接口地址: https://api.gugudata.com/metadata/college-enrollment-plan

返回格式: application/json; charset=utf-8

请求方式: GET

请求协议: HTTPS

请求示例: https://api.gugudata.com/metadata/college-enrollment-plan?appkey={{YOUR_APPKEY}}&collegemajorname={{}}&year={{}}&pageIndex={{1}}&pageSize={{10}}&schoolname={{}}&provincename={{}}&classOne={{}}&classtwo={{}}&batchname={{}}&type={{}}

数据预览: https://www.gugudata.com/preview/collegeenrollmentplan

接口测试: https://api.gugudata.com/metadata/college-enrollment-plan/demo

3. 请求参数

参数名 参数类型 是否必须 默认值 备注
appkey string YOUR_APPKEY 付费后获取的 APPKEY
collegemajorname string 查询的高校专业名称,支持模糊查询
year int 查询的招生年份,如 2020 、2021 、2022 、2023 。参数默认值为 0:即获取所有年份的招生计划数据
pageindex int 1 分页参数,第几页
pagesize int 10 分页参数,每页总条数,取值范围在 10 ~ 100 之间(含)
schoolname string 查询的高校名称,支持模糊查询
provincename string 查询的招生省份
classone string 查询的专业大类
classtwo string 查询的专业小类
batchname string 录取批次参数,可选枚举值请参考 Data.AdmissionBatch 返回值枚举
type string 传递的参数值可选为:理科|文科|综合|艺术类|体育类|体育理|蒙授理科|艺术文|体育文|汉授美术|蒙授文科|学考文|学考理|艺术理|汉授音乐|汉授体育|其他艺术|汉授编导|蒙授音乐|蒙授体育|蒙授美术|旅游类|计算机类|3+证书|蒙授其他艺术|农学类|财会类|牧医类|蒙牧医类|美工设计类|汽驾类|幼师类|建筑类|烹饪类

4. 返回参数

参数名 参数类型 备注
DataStatus.StatusCode int 接口返回状态码
DataStatus.StatusDescription string 接口返回状态说明
DataStatus.ResponseDateTime string 接口数据返回时间
DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
Data.InSchoolYears string 学制年限
Data.ClassOne string 专业大类
Data.ClassTwo string 专业小类
Data.BatchName string 录取批次
Data.Type string 文理综合类别
Data.SchoolName string 高校名称
Data.EnrollmentNumbers int 招生人数
Data.SchoolUUID string 咕咕数据平台高校唯一 ID
Data.CourseSelectionRequirements string 选科要求
Data.CollegeMajorName string 高校专业名称
Data.Year int 招生年份
Data.ProvinceName string 招生省份
]]>
搞了一个返回名言警句的 API tag:www.v2ex.com,2024-03-13:/t/1023354 2024-03-13T10:15:03Z 2024-03-13T10:54:38Z lostsquirrelX member/lostsquirrelX
  • 数据源 https://github.com/lostsquirrel/quotes
  • 地址 https://tool.shangao.tech/api/v1/quotes
  • 返回逻辑随机
  • ]]>
    关于 API 设计问题,请大家指点指点 tag:www.v2ex.com,2023-12-25:/t/1003348 2023-12-25T11:59:13Z 2023-12-25T18:39:19Z coolair member/coolair
    在设计时,比如: http://localhost/tasks

    如果想要一个获取用户 tasks 的接口:
    当前用户: http://localhost/users/me/tasks
    其他用户: http://localhost/users/{id}/tasks

    如果把这个接口放在 user view 里面实现,就无法复用 task view 里面的 filter ,如果放在 task view 里面实现,重写 url path ,感觉 url 不一致,容易造成误解。 ]]>
    我们在做一个告警系统, 想把严重的告警通过电话告出来,请问有木有相关的 API 吗?费用便宜点的 tag:www.v2ex.com,2023-12-20:/t/1001995 2023-12-20T07:56:27Z 2023-12-26T01:27:30Z clacf1 member/clacf1 求组,想找一个文档转图片的付费 api tag:www.v2ex.com,2023-12-04:/t/997530 2023-12-04T08:17:28Z 2024-02-01T20:11:02Z qinjiang member/qinjiang
    目前使用百度的转码速度很慢,2mb 要 3 分钟。
    网易云信转码速度快,一分钟,但是要 1000 元/月的月租费+转码费用

    或者有什么思路可以运行时较快实现转码功能 ]]>
    请教,未登陆用户的 api 怎么防护比较合适? tag:www.v2ex.com,2023-12-01:/t/996719 2023-12-01T01:50:16Z 2023-12-01T01:50:16Z joyanhui member/joyanhui 例如: app 启动的时候,先用 app 指纹和 app 的公网 ip 拿到 jwt 再去请求登陆/注册接口。

    但是 这时分发 jwt 的接口。怎么避免一直被搞?

    想把异常请求直接拦截到外面,尽量不让异常请求落地到服务器上。

    目前是套了腾讯云的 cdn 当反代用,不缓存每次都回源。cdn 上限制的单 ip qps (阿里云那边好像只能用 WAF 有点复杂..),还有别的办法不?

    已登陆用户 的接口走了阿里云的函数计算,用的函数计算的 jwt 认证。 异常请求,直接在 redis 建了一个黑名单,再通知 jwt 分发接口禁止新发,等 jwt 失效就噶掉。

    ]]>
    有没有免费翻译的 api,输入文本直接翻译成中文 tag:www.v2ex.com,2023-11-23:/t/994528 2023-11-23T06:58:52Z 2023-11-23T08:55:52Z pipixiarwksb member/pipixiarwksb 或者付费的也可以 要求:要求质量高,响应快,并发高 谢谢各位老哥

    ]]>
    有什么好用的英语词典的 api 吗? 就是输入英文单词可以查出它的音标? tag:www.v2ex.com,2023-11-16:/t/992416 2023-11-16T04:04:39Z 2023-11-14T04:03:39Z braveMan member/braveMan
    或者免费的一些字典开源库也可以 ]]>
    有没有醒图或者美图秀秀拼图功能类似的 API tag:www.v2ex.com,2023-11-07:/t/989360 2023-11-07T01:44:32Z 2023-11-07T01:43:32Z Dogod37 member/Dogod37 最近看到醒图/美图秀秀的拼图功能,把上传的 n 个照片,塞到一个模板中,生成一个像海报一样的图片。这种大家有了解成熟的 api 或者应用吗?

    ]]>
    有没有 api 可以给用户的英译汉结果打分? tag:www.v2ex.com,2023-11-06:/t/988950 2023-11-06T01:55:07Z 2023-11-05T08:03:02Z yiwangersanli member/yiwangersanli 有没有做过英语学习类产品的大神?我想做一个翻译检查和打分的功能,拿到用户基于英文的汉语翻译之后给用户打个分。目前有相关的 api 可以实现这个功能吗?

    ]]>
    设计高可用的 api 服务 tag:www.v2ex.com,2023-11-03:/t/988212 2023-11-03T03:56:53Z 2023-11-03T06:14:20Z sinecw member/sinecw 想搭建一个高可用的 chatgpt 服务,目前有三台服务器,如何设计分流和复杂均衡呢?求大神点醒

    ]]>
    求推荐一个短信 api 平台 tag:www.v2ex.com,2023-10-30:/t/986636 2023-10-30T03:24:25Z 2023-10-30T03:22:25Z WOSHILIDAYE member/WOSHILIDAYE 各位大佬们,有谁知道哪个网站可以查航班和火车的 API? tag:www.v2ex.com,2023-10-28:/t/986181 2023-10-28T00:29:04Z 2023-10-28T00:54:21Z luchenwei9266 member/luchenwei9266 找了一圈没找到适合个人开发者的。。

    各位大佬们,要是有知道提供 API 网站的麻烦告知一下小弟,付费和免费的都行,谢谢大佬们了。。。

    ]]>
    求助一下哪里有船舶信息的 API tag:www.v2ex.com,2023-10-27:/t/986080 2023-10-27T09:02:48Z 2023-10-27T09:46:03Z xu98 member/xu98 想了解 如何接入一个应用 当这个应用发出通知时 可以自动化操作提前设置好的指令 类似跳转然后下单或者类似大麦抢票脚本 tag:www.v2ex.com,2023-08-16:/t/965930 2023-08-16T16:09:30Z 2023-08-16T13:09:30Z Xxxzy member/Xxxzy 圈外人 想了解能否做一个外接程序 自动对某 app 应用进行自动化反应操作 tag:www.v2ex.com,2023-08-14:/t/965265 2023-08-14T13:23:00Z 2023-08-14T15:40:36Z Xxxzy member/Xxxzy DeepL API 怎么用? tag:www.v2ex.com,2023-07-08:/t/955171 2023-07-08T14:05:19Z 2023-07-08T15:14:09Z pengdirect member/pengdirect 最近用虚拟信用卡申请一个 DeeL 的 API ,但是不知道怎么使用?想在桌面端进行翻译,请问怎么使用啊?

    ]]>
    全国大学高校专业数据 API 接口 tag:www.v2ex.com,2023-06-08:/t/947126 2023-06-08T15:00:47Z 2023-06-08T15:00:47Z Parry member/Parry 全国大学高校专业数据 API 接口

    欢迎使用全国大学高校专业数据 API 接口!我们为您提供全面的大学专业基础数据,持续更新,覆盖各类专业属性。无论您是教育机构、学术研究者还是开发者,我们的 API 接口都能满足您的需求。

    gugudata_api_cover

    1. 产品功能

    2. API 文档

    API 详情地址

    https://www.gugudata.com/api/details/ceemajor

    接口请求地址

    https://api.gugudata.com/metadata/ceemajor

    返回格式

    application/json; charset=utf-8

    请求方式

    GET

    请求协议

    HTTPS

    请求示例

    https://api.gugudata.com/metadata/ceemajor?appkey=YOUR_APPKEY&keywords=YOUR_VALUE&pagesize=10&pageindex=1

    接口测试

    https://www.gugudata.com/preview/ceemajor

    3. 请求参数

    以下是接口的请求参数及其说明:

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 APPKEY
    keywords string YOUR_VALUE 搜索关键字,可以模糊匹配专业名称、学科、专业介绍、开设课程。参数值为空则返回所有数据分页
    pagesize int 10 每页数据量,最大值为 20
    pageindex int 1 页码,从 1 开始计数

    4. 返回参数

    以下是接口的返回参数及其说明:

    参数名 参数类型 备注
    DataStatus.StatusCode int 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
    Data.EducationLevel string 学历层次
    Data.DisciplinaryCategory string 学科门类
    Data.DisciplinarySubCategory string 学科专业类
    Data.MajorCode string 专业代码
    Data.MajorName string 专业名称
    Data.MajorIntroduction string 专业介绍
    Data.Courses.CourseName string 开设课程名称
    Data.Courses.CourseDifficulty string 开设课程难度
    Data.GraduateScale string 全国普通高校毕业生规模(概略数据)
    Data.MaleFemaleRatio string 男女比例(概略数据)
    Data.RecommendSchools string[] 推荐院校列表
    ]]>
    有比较全的淘客 api,类似什么值得买的 api 不 tag:www.v2ex.com,2023-04-12:/t/931841 2023-04-12T02:57:33Z 2023-04-28T15:53:28Z lyseky member/lyseky 有道 API 文本限频了怎么办?顺便想说有道的客服态度真的有点.... tag:www.v2ex.com,2023-03-30:/t/928394 2023-03-30T02:24:54Z 2023-03-30T02:24:54Z mapleincode member/mapleincode 我想问下文本翻译 API 限频改了么?我在几秒内调用七八次就返回错误了? 叶子 ✨ ✨ ✨ 09:58:27 实名认证 呜喵 09:58:44 好吧,都没提醒说没实名限频 叶子 ✨ ✨ ✨ 10:01:46 你一注册时候不就有实名认证的提示嘛? 呜喵 10:02:00 没,可能我注册的比较早 叶子 ✨ ✨ ✨ 10:02:27 哦 那就认证下吧 你现在登录控制台肯定会有提示的 呜喵 10:02:30 还是限制了 叶子 ✨ ✨ ✨ 10:02:55 认证完成之后 还需要除体验金之外有余额的哈 呜喵 10:03:05 [表情] 呜喵 10:03:15 要多少余额 呜喵 10:04:21 余额充值有要求么?我看一分钱起充? 叶子 ✨ ✨ ✨ 10:06:09 你要让我说的话 那肯定是多多益善啊 哈哈哈 叶子 ✨ ✨ ✨ 10:06:28 根据你的需求啊 你需要量比较大 可以多充值点 量少可以少充值一些 呜喵 10:06:51 问题是,我充值了一分钱依然没解决,是不是有充值余额要求?能帮我问下么? 呜喵 10:07:06 " 叶子 ✨ ✨ ✨ 10:06:28 根据你的需求啊 你需要量比较大 可以多充值点 量少可以少充值一些 " @叶子 ✨ ✨ ✨ 我实际连体验金都用不完 呜喵 10:07:22 但是现在调用 api 频率实在是太低了 叶子 ✨ ✨ ✨ 10:12:25 你冲了一分钱没解决你还可以试试多充值点啊 叶子 ✨ ✨ ✨ 10:12:29 让我问啥 呜喵 10:12:51 …..你这话有点像无良奸商有没有 叶子 ✨ ✨ ✨ 10:13:09 呵呵 那就是吧

    前两天还和朋友说有道 API 真良心,送的钱都用不完。实际上我目前是 Alfred 自用。我不介意充值 100 ,虽然可能这辈子都用不完。但是文档没说明,客服一副拽死的态度,我是觉得略微懵逼。

    有解决过这个问题的老哥么?告诉我得冲多少?

    ]]>
    插件开发版| Authing 结合 APISIX 实现统一可配置 API 权限网关 tag:www.v2ex.com,2023-03-24:/t/926916 2023-03-24T09:22:46Z 2023-03-24T09:20:46Z Authing member/Authing 当开发者在构建网站、移动设备或物联网应用程序时,API 网关作为微服务架构中不可或缺的控制组件,是流量的核心进出口。通过有效的权限管控,可以实现认证授权、监控分析等功能,提高 API 的安全性、可用性、拓展性以及优化 API 性能。之前我们演示了通过 Authing 权限管理 + APISIX 实现 API 的访问控制效果,本文将教你如何实现上述能力的具体实践方法

    01 关于 Authing

    Authing 是国内首款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务。以「 API First 」作为产品基石,把身份领域所有常用功能都进行了模块化的封装,通过全场景编程语言 SDK 将所有能力 API 化提供给开发者。同时,用户可以灵活的使用 Authing 开放的 RESTful APIs 进行功能拓展,满足不同企业不同业务场景下的身份和权限管理需求

    02 关于 APISIX

    Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 不仅支持插件动态变更和热插拔,而且拥有众多实用的插件。Apache APISIX 的 OpenID Connect 插件支持 OpenID Connect 协议,用户可以使用该插件让 Apache APISIX 对接 Authing 服务,作为集中式认证网关部署于企业中。

    03 业务目标

    通过 Authing 权限管理 + APISIX 实现 API 的访问控制

    04 如何实现

    本文所涉及到的代码已经上传到 Github

    Python 插件https://github.com/fehu-asia/authing-apisix-python-agent

    Java Adapter: https://github.com/fehu-asia/authing-apisix-java-adapter

    Java 插件https://github.com/fehu-asia/authing-apisix-java-agent

    4.1 业务架构

    系统整体包含了三大部分:Authing 服务集群、Authing 插件适配服务以及 APISIX 网关,本方案建立需要配置和开发的部分有四个部分,Authing API 权限结构配置、APISIX 插件和路由配置、APISIX 插件开发部署以及业务适配服务开发,其中业务适配服务包含了认证和授权的主要逻辑(使用单独服务承载),避免了插件的频繁更新和部署。

    这里需要说明的是,之所以采用 Adapter 的方式来实现,是因为插件我们并不希望经常变动,但需求可能是无法避免的需要经常变动,所以我们将具体的鉴权逻辑放在 Adapter ,插件只实现请求转发和根据 Adapter 的返回结果决定是否放行,同时无状态的插件可以让我们实现更多的场景复用和能力扩展,例如进行鉴权结果的缓存实现,后续只需维护 Adapter 即可。

    当然我们也可将具体的逻辑放在插件里。

    注意,本教程只用于与 APISIX 和 Authing 进行集成,对于生产环境使用,您需要自行开发插件并保证其安全性及可用性等,本文档不承诺此插件可以用于生产环境

    git clone https://github.com/apache/apisix-docker.git cd apisix-docker/example docker-compose -p docker-apisix up -d 

    到这里可以使用 docker ps 查看 apisix docker 进程启动状态, 随后访问 localhost:9000 可以进入 dashboard 界面进行路由和插件的配置。

    4.2 在 Authing 对 API 进行管理

    登录 Authing 官网:www.authing.com ,进行以下操作:

    配置 Token 签名算法为 RS256 及校验 AccessToken 的方式为 none 。

    进入 Authing 控制台-用户管理-用户列表-点击创建用户后,可以根据不同方式(用户名、手机号、邮箱)创建测试用户,如下图所示:

    进入 Authing 控制台-权限管理-创建资源,可以选择创建树数据类型的资源,如下图所示:

    进入权限管理-数据资源权限-数据策略标签,可以点击创建策略来新建数据访问策略,如下图所示。策略包含了对应的权限空间中定义的数据以及操作,创建后能够基于此策略对不同对象(用户、角色、用户组等)进行授权管理。

    4.3 APISIX 路由和 SOCK 配置

    APISIX 使用 unix sock 与插件进程通信,因此需要配置对应的 sock 端口:

    需要将宿主机上的 sock 文件挂载到容器里,插件启动的时候会在宿主机上创建这个 sock 文件,此处需要注意的是,若 APISIX 是先于插件启动的,当插件启动后,则需要重启下 APISIX 容器,确保插件先于 APISIX 启动。

    文件位置: /apisix-docker/example/docker-compose.yml apisix 部分

     apisix: image: apache/apisix:latest restart: always volumes: - ./apisix_log:/usr/local/apisix/logs - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro - /tmp/runner.sock:/tmp/runner.sock 

    X-API-KEY: /apisix/apisix-docker/example/apisix_conf/config.yaml

    curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/*", "plugins": { "ext-plugin-pre-req": { "conf": [ { "name": "authing_agent", "value": "{\"url\": \"{适配服务的访问地址}\",\"user_pool_id\": \"{用户池 ID}\",\"user_pool_secret\": \"{用户池密钥}\"}" } ] } }, "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }' 

    ext-plugin-pre-req 是需要启用的插件类型, 在配置 conf 中需要确定两个变量:

    "name": 插件名称
    "value": "{"url": "适配服务的访问地址","user_pool_id": "用户池 ID","user_pool_secret": "用户池密钥"}"

    其中,访问地址格式为 {{domain}}:{{port}}/{{path}}

    例如: "{"url": "http://192.168.1.123:8080/isAllow","user_pool_id": "124u2353h2t24he2u349382u152","user_pool_secret": "6435462313i5412njburh2u34"}"

    4.4 APISIX 插件开发和部署

    git clone https://github.com/apache/apisix-python-plugin-runner.git 进入目录 make setup 进入目录 make install 进入目录并修改 apisix/plugins/rewrite.py 文件,将请求参数传递到 Authing

    可使用其他语言实现例如 Java 、Go 、Lua

    之所以采用 Python 的原因是因为环境初始化比较简单,可以让开发者快速了解 APISIX 的插件的开发机制。

    https://apisix.apache.org/docs/apisix/external-plugin/

    from typing import Any from apisix.runner.http.request import Request from apisix.runner.http.response import Response from apisix.runner.plugin.core import PluginBase import json import requests import json def isAllow(request,config): return requests.request("POST", config.get("url"), headers={ 'Content-Type': 'application/json' }, data=json.dumps({ "request": request, "pluginConfig": config })) class Rewrite(PluginBase): def name(self) -> str: return "authing_agent" def config(self, conf: Any) -> Any: return conf def filter(self, conf: Any, request: Request, response: Response): # 组装 Adapter 请求参数 authing_request = { "uri": request.get_uri(), "method": request.get_method(), "args":request.get_args(), "headers":request.get_headers(), "request_id":request.get_id(), "host":request.get_var("host"), "remote_addr": request.get_remote_addr(), "configs": request.get_configs() } # 接收 Adapter 响应判断是否放行 authing_respOnse= isAllow(authing_request,eval(conf)) if authing_response.text != "ok": response.set_status_code(authing_response.status_code) response.set_body(authing_response.text) 
    nohup make dev & #后台运行 agent 程序 

    4.5 适配器开发

    启动代理 Authing 服务(自行实现对应接口,以 springboot 为例,接口结构如下)

    IsAllowController.java

    package cn.authing.apisix.adapter.controller; import cn.authing.apisix.adapter.entity.APISIXRquestParams; import cn.authing.sdk.java.client.ManagementClient; import cn.authing.sdk.java.dto.CheckPermissionDto; import cn.authing.sdk.java.dto.CheckPermissionRespDto; import cn.authing.sdk.java.dto.CheckPermissionsRespDto; import cn.authing.sdk.java.model.ManagementClientOptions; import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpUtil; import com.google.gson.Gson; import com.nimbusds.jose.JOSEException; import com.nimbusds.jose.JWSAlgorithm; import com.nimbusds.jose.JWSObject; import com.nimbusds.jose.jwk.source.JWKSource; import com.nimbusds.jose.jwk.source.RemoteJWKSet; import com.nimbusds.jose.proc.BadJOSEException; import com.nimbusds.jose.proc.JWSKeySelector; import com.nimbusds.jose.proc.JWSVerificationKeySelector; import com.nimbusds.jose.proc.SecurityContext; import com.nimbusds.jwt.JWTClaimsSet; import com.nimbusds.jwt.proc.ConfigurableJWTProcessor; import com.nimbusds.jwt.proc.DefaultJWTProcessor; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StopWatch; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.net.MalformedURLException; import java.net.URL; import java.text.ParseException; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author Gao FeiHu * @version 1.0.0 * @date 2022.12.22 * @email gaofeihu@authing.cn */ @RestController @Slf4j public class IsAllowController { /** * 用户池 ID */ public static String ACCESS_KEY_ID = ""; /** * 用户池密钥 */ public static String ACCESS_KEY_SECRET = ""; /** * Authing SDK * See * https://docs.authing.cn/v3/reference/ */ ManagementClient managementClient; /** * 初始化 ManagementClient * * @param ak 用户池 ID * @param aks 用户池密钥 */ public void init(String ak, String aks) { log.info("init ManagementClient ......"); try { // 保存用户池 ID 和密钥 ACCESS_KEY_ID = ak; ACCESS_KEY_SECRET = aks; // 初始化 ManagementClientOptions optiOns= new ManagementClientOptions(); options.setAccessKeyId(ak); options.setAccessKeySecret(aks); managementClient = new ManagementClient(options); } catch (Exception e) { e.printStackTrace(); System.err.println("初始化 managementClient 失败,可能无法请求!"); } } /** * 是否放行 * * @param apisixRquestParams 请求 body ,包含了 APISIX 插件的配置以及请求上下文 * @param response HttpServletResponse * @return 200 OK 放行 * 403 forbidden 禁止访问 * 500 internal server error 请求错误 可根据实际需求放行或拒绝 */ @PostMapping("/isAllow") public Object isAllow(@RequestBody APISIXRquestParams apisixRquestParams, HttpServletResponse response) { // 请求计时器 StopWatch stopWatch = new StopWatch(); stopWatch.start(); // 请求 ID 与 APISIX 一致 String requestID = apisixRquestParams.getRequest().getRequest_id(); log.info("{} ==> 请求入参 : {} ", requestID, new Gson().toJson(apisixRquestParams)); try { // 0. 若插件为多实例用于实现不同业务逻辑,此处可对应修改为多实例模式 if (managementClient == null || !ACCESS_KEY_ID.equals(apisixRquestParams.getPluginConfig().get("user_pool_id"))) { init((String) apisixRquestParams.getPluginConfig().get("user_pool_id"), (String) apisixRquestParams.getPluginConfig().get("user_pool_secret")); } // 1. 拿到 accessToken String authorization = (String) apisixRquestParams.getRequest().getHeaders().get("authorization"); if (!StringUtils.hasLength(authorization)) { return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, "HTTP_UNAUTHORIZED"); } String accessToken = authorization; if (authorization.startsWith("Bearer")) { accessToken = authorization.split(" ")[1].trim(); } log.info("{} ==> accessToken : {} ", requestID, accessToken); // 2. 解析 accessToken 拿到应用 ID 和用户 ID JWSObject parse = JWSObject.parse(accessToken); Map<String, Object> payload = parse.getPayload().toJSONObject(); String aud = (String) payload.get("aud"); String sub = (String) payload.get("sub"); // 3. 校验 accessToken // 在线校验 String result = onlineValidatorAccessToken(accessToken, aud); log.info("{} ==> accessToken 在线结果 : {} ", requestID, result); if (!result.contains("{\"active\":true")) { return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, "HTTP_UNAUTHORIZED"); } // // 离线校验 // if (null == offlineValidatorAccessToken(accessToken, aud)) { // return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, "HTTP_UNAUTHORIZED"); // } // 4. 获取到 APISIX 中的请求方法,对应 Authing 权限中的 action String action = apisixRquestParams.getRequest().getMethod(); // 5. 获取到 APISIX 中的请求路径 String resource = apisixRquestParams.getRequest().getUri(); // 6. 去 Authing 请求,判断是否有权限 // TODO 可在此添加 Redis 对校验结果进行缓存 CheckPermissionDto reqDto = new CheckPermissionDto(); reqDto.setUserId(sub); reqDto.setNamespaceCode(aud); reqDto.setResources(Arrays.asList(resource.substring(1, resource.length()))); reqDto.setAction(action); CheckPermissionRespDto checkPermissiOnRespDto= managementClient.checkPermission(reqDto); log.info(new Gson().toJson(checkPermissionRespDto)); // 7. 由于我们是单个 resource 校验,所以只需要判断第一个元素即可 List<CheckPermissionsRespDto> resultList = checkPermissionRespDto.getData().getCheckResultList(); if (resultList.isEmpty() || resultList.get(0).getEnabled() == false) { return result(response, stopWatch, requestID, HttpStatus.HTTP_FORBIDDEN, "HTTP_FORBIDDEN"); } return result(response, stopWatch, requestID, HttpStatus.HTTP_OK, "ok"); } catch (Exception e) { e.printStackTrace(); log.error("请求错误!", e); return result(response, stopWatch, requestID, HttpStatus.HTTP_INTERNAL_ERROR, e.getMessage()); } } public String result(HttpServletResponse response, StopWatch stopWatch, String requestID, int status, String msg) { stopWatch.stop(); log.info("{} ==> 请求耗时:{} , 请求出参 : http_status_code={},msg={} ", requestID, stopWatch.getTotalTimeMillis() + "ms", status, msg); response.setStatus(status); return msg; } public String onlineValidatorAccessToken(String accessToken, String aud) { HashMap<String, Object> paramMap = new HashMap<>(); paramMap.put("token", accessToken); paramMap.put("token_type_hint", "access_token"); paramMap.put("client_id", aud); return HttpUtil.post("https://api.authing.cn/" + aud + "/oidc/token/introspection", paramMap); } public JWTClaimsSet offlineValidatorAccessToken(String accessToken, String aud) { try { ConfigurableJWTProcessor<SecurityContext> jwtProcessor = new DefaultJWTProcessor<>(); JWKSource<SecurityContext> keySource = null; keySource = new RemoteJWKSet<>(new URL("https://api.authing.cn/" + aud + "/oidc/.well-known/jwks.json")); JWSAlgorithm expectedJWSAlg = JWSAlgorithm.RS256; JWSKeySelector<SecurityContext> keySelector = new JWSVerificationKeySelector<>(expectedJWSAlg, keySource); jwtProcessor.setJWSKeySelector(keySelector); return jwtProcessor.process(accessToken, null); } catch (MalformedURLException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } catch (BadJOSEException e) { e.printStackTrace(); } catch (JOSEException e) { e.printStackTrace(); } finally { return null; } } } 

    APISIXRquestParams.java

    package cn.authing.apisix.adapter.entity; import lombok.Data; import lombok.ToString; import java.util.Map; /** * APISIX 请求实体类 */ @Data @ToString public class APISIXRquestParams { /** * APISIX 请求上下文 */ APISIXRequest request; /** * 插件配置 */ Map<String, Object> pluginConfig; } 

    APISIXRequest.java

    package cn.authing.apisix.adapter.entity; import lombok.Data; import lombok.ToString; import java.util.Map; @Data @ToString public class APISIXRequest { private String uri; private String method; private String request_id; private String host; private String remote_addr; private Map<String, Object> args; private Map<String, Object> headers; private Map<String, Object> configs; } 

    4.6 访问测试

    404 是因为上游服务没有这个接口,但认证和 API 鉴权已经通过

    05 总结

    如果您需要对 API 进行细颗粒度的管理可以通过本方案来实现,我们可以在 Adapter 实现更加细粒度的 API 访问控制以及更加场景化的权限方案。

    ]]>
    Authing 结合 APISIX 实现统一可配置 API 权限网关(快速启动版) tag:www.v2ex.com,2023-03-24:/t/926868 2023-03-24T07:22:38Z 2023-03-24T07:20:38Z Authing member/Authing 当开发者在构建网站、移动设备或物联网应用程序时,可能需要使用 API 网关来处理接口流量。而在实际业务场景中,除去少部分允许匿名者访问的 API 外,API 提供者通常会对 API 使用者进行权限管控,只允许符合访问要求的使用者访问该 API 。其次,权限管控涉及到权限策略,对于不同条件且均符合访问要求的使用者做权限区分。本文将带你快速创建使用 Authing 结合 APISIX 实现统一可配置 API 权限网关

    01 关于 Authing

    Authing 是国内首款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务。以「 API First 」作为产品基石,把身份领域所有常用功能都进行了模块化的封装,通过全场景编程语言 SDK 将所有能力 API 化提供给开发者。同时,用户可以灵活的使用 Authing 开放的 RESTful APIs 进行功能拓展,满足不同企业不同业务场景下的身份和权限管理需求

    02 关于 APISIX

    Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 不仅支持插件动态变更和热插拔,而且拥有众多实用的插件。Apache APISIX 的 OpenID Connect 插件支持 OpenID Connect 协议,用户可以使用该插件让 Apache APISIX 对接 Authing 服务,作为集中式认证网关部署于企业中。

    03 业务目标

    通过 Authing 权限管理 + APISIX 实现 API 的访问控制。

    案例:我们希望用户在 Authing 进行认证后访问到被授权的 API 。 ( https://console.authing.cn/api/v2/get_console_context

    04 如何实现

    注意,本教程只用于与 APISIX 和 Authing 进行集成测试。后续我们将发布《 Authing 结合 APISIX 实现统一可配置 API 权限网关(插件开发版)》。

    4.1 业务架构

    4.2 先决条件

    需要自行提前安装,docker 和 docker-compose 。

    4.3 APISIX & Authing Plugin 基础环境搭建

    wget https://raw.githubusercontent.com/fehu-asia/authing-apisix-docker-compose/main/apisix-authing.tgz --no-check-certificate 
    tar -zxvf apisix-authing.tgz -C / && cd /apisix && docker-compose -p docker-apisix up -d 

    到这里可以使用 docker ps 查看 apisix docker 进程启动状态, 随后访问 {your server IP}:9000 可以进入 dashboard 界面进行路由和插件的配置。

    4.4 在 Authing 对 API 进行管理

    Authing 官网:www.authing.com 。或点击文章底部阅读原文。

    配置 Token 签名算法为 RS256 及校验 AccessToken 的方式为 none 。

    进入 Authing 控制台-用户管理-用户列表-点击创建用户后,可以根据不同方式(用户名、手机号、邮箱)创建测试用户,如下图所示:

    进入 Authing 控制台-权限管理-创建资源,可以选择创建树数据类型的资源,如下图所示:

    添加相关操作,这里我们的操作对应 HTTP 的请求方法:

    进入权限管理-数据资源权限-数据策略标签,可以点击创建策略来新建数据访问策略,如下图所示。策略包含了对应的权限空间中定义的数据以及操作,创建后能够基于此策略对不同对象(用户、角色、用户组等)进行授权管理。

    4.5 添加路由

    在 APISIX 宿主机上执行。

    注意,需要替换请求参数中的用户池 ID 以及密钥。

    curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/*", "name": "authing_router", "plugins": { "ext-plugin-pre-req": { "allow_degradation": false, "conf": [ { "name": "authing_agent", "value": "{\"url\": \"http://authing-adapter:18080/isAllow\",\"user_pool_id\": \"{用户池 ID}\",\"user_pool_secret\": \"{用户池密钥}\"}" } ], "disable": false } }, "upstream": { "nodes": [ { "host": "console.authing.cn", "port": 443, "weight": 1 } ], "timeout": { "connect": 6, "send": 6, "read": 6 }, "type": "roundrobin", "scheme": "https", "pass_host": "node", "keepalive_pool": { "idle_timeout": 60, "requests": 1000, "size": 320 } }, "status": 1 }' 

    upstream 我们在这里使用的是 httpbin.orghttpbin.org 是一个简单的在线提供 HTTP 服务的网站,您可以将其用于测试,您也可以将其修改为自己的实际 API 服务地址。

    X-API-KEY 所在位置:/apisix/apisix_conf/config.yaml

    若您修改了此字段则需要在 curl 请求中进行修改:

    4.6 访问测试

    目标:当用户认证并携带有效的 AccessToken 且访问的 uri 是被授权的,方可正常调用 API 。

    让我们先去 Authing 的应用进行认证,获取被授权用户的 accessToken 。

    复制这个 access_token 接下来测试会用到。

    curl --location --request GET 'http://{服务器 IP}:9080/xxxx' 

    curl --location --request GET 'http://{服务器 IP}:9080/xxxx' \ --header 'Authorization: Bearer {accessToken}' 

    curl --location --request GET 'http://{服务器 IP}:9080/api/v2/get_console_context' \ --header 'Authorization: Bearer {accessToken}' 

    05 未来可期

    在此方案基础上我们也可以实现统一的安全审计、用户行为轨迹分析、用户访问风险评估等,用以实现全链路 API 访问治理。

    ]]>
    做一个接口的中间件有那些技术栈可以直接拿来用呢? tag:www.v2ex.com,2023-03-20:/t/925539 2023-03-20T06:07:34Z 2023-03-20T06:07:34Z jalena member/jalena 最近项目需要整一个接口的中间件( ERP - 中间件 - 其他系统)

    因为 ERP 这边有要求不要直接对接其他系统,中间件需要做一些接口的数据转换加工工作,求推荐点技术思路。。

    最好是 Java 或者 Python 的

    ]]>
    个人开发的免费 API 平台(包含 ip 归属地、手机号归属地,经纬度查询、天气预报查询等) tag:www.v2ex.com,2022-10-31:/t/891342 2022-10-31T02:14:06Z 2022-10-31T06:11:01Z lituancheng member/lituancheng apiKey 通过我自己的公众号下发,单个 apiKey 每日 5w 次调用额度。

    文档链接: https://api-ltc1.doc.coding.io/

    有疑问或者问题可以发评论区

    ]]>
    分享个手机号+名字二要素实名 比较便宜 API 的渠道 tag:www.v2ex.com,2022-08-04:/t/870596 2022-08-04T03:17:57Z 2022-08-04T05:48:03Z ggvm member/ggvm
    找了很多 手机号+名字 二要素验证,都是 0.4 元左右。

    后面用了个便宜的,京东数据 0.25 一次

    https://wx.jdcloud.com/market/datas/5/14410 ]]>
    求大神帮忙,恢复下我的百度云 tag:www.v2ex.com,2022-07-24:/t/868359 2022-07-24T07:35:16Z 2022-09-28T01:14:08Z lviiluck member/lviiluck 1 ,之前有用 Imazing 备份过百度云 2 ,然后修改了密码忘记了,一直也没在用,现在想下载里面的通讯录跟一些文件,还有办法吗? 3 ,现在只有 Imazing ,恢复到 iPhone 上,只要联网就强行被退出了,有其他办法能下载里面的通讯录跟文件吗?

    ]]>
    全国大学高校基础信息 API 接口 tag:www.v2ex.com,2022-07-01:/t/863535 2022-07-01T14:53:47Z 2022-07-01T14:53:47Z Parry member/Parry 全国大学高校基础信息 API 接口

    提供全国大学高校基础信息。

    gugudata_api_cover

    1. 产品功能

    2. API 文档

    API 详情地址: https://www.gugudata.com/api/details/college

    接口请求地址: https://api.gugudata.com/location/college

    返回格式: application/json; charset=utf-8

    请求方式: GET

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/location/college?appkey=YOUR_APPKEY&keywords=YOUR_VALUE&pagesize=10&pageindex=1&keywordstrict=false&collegecategory=

    接口测试: https://api.gugudata.com/location/college/demo

    3. 请求参数

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 APPKEY
    keywords string YOUR_VALUE 搜索关键字,模糊匹配高校名称、省市区、高校旧称、地址字段,参数值为空则返回所有数据
    pagesize int 10 每页数据量,参数最大值为 100
    pageindex int 1 页码,第几页数据
    keywordstrict string false 控制 keyword 参数在查询时是否进行模糊查询,true 为精确匹配高校名称,默认值为 false 进行模糊查询
    collegecategory string 学院类别,参数默认值为空,不进行筛选。可选参数为:理工类|综合类|师范类|财经类|医药类|艺术类|农林类|军事类|政法类|语言类|体育类|民族类|其它

    4. 返回参数

    参数名 参数类型 备注
    DataStatus.StatusCode int 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
    Data.SchoolUUID string 咕咕数据平台高校唯一 ID ,此唯一 ID 可与 历年高考高校录取分数线历年高考专业录取分数线 接口中的 SchoolUUID 进行唯一匹配
    Data.CollegeName string 学院名称
    Data.Province string 学院所在省份
    Data.City string 学院所在城市
    Data.District string 学院所在区县
    Data.Coordinate string 学院地理坐标经纬度,格式为 [经度,纬度],地理坐标系为 GCJ-02 。需要转换坐标系请调用地理坐标系转换接口
    Data.CollegeType string 学院性质,值的枚举为: 普通本科|独立学院|专科(高职)|高职高专|中外合作办学|成人教育|HND 项目|远程教育学院|其它
    Data.Is985 bool 是否为 985 院校
    Data.Is211 bool 是否为 211 院校
    Data.IsDualClass bool 是否为双一流院校
    Data.CollegeCategory string 学院类别,值的枚举为: 综合类|理工类|师范类|财经类|医药类|艺术类|农林类|军事类|政法类|语言类|体育类|民族类|其它
    Data.CollegeTags string[] 学院标签
    Data.EduLevel string 学院学制,值的枚举为: 普通本科|本科|专科(高职)|专科|其它
    Data.CollegeProperty string 学院资质,值的枚举为: 公办|民办|中外合作办学
    Data.CollegeCode string 学院编号
    Data.Ranking int 全国排名,接口返回的数据结果默认按照此数值进行升序排列
    Data.RankingInCategory string 学院所在类别下排名
    Data.WebSite string 学院官网
    Data.CallNumber string 学院招生电话
    Data.Email string 学院招生邮箱
    Data.Address string 学院地址
    Data.CoverImage string 学院校徽
    Data.Intro string 学院简介
    Data.Expenses string 学院收费(仅供参考)
    Data.OldName string 学院旧称
    Data.ShortName string 学院简称
    Data.MajorList.MajorTitle string 开设专业大类
    Data.MajorList.Majors string[] 此大类下开设的专业

    5. 接口 HTTP 响应标准状态码

    状态码 状态码解释 备注
    200 接口正常响应 业务状态码参见下方 接口自定义状态码
    403 请求频率超限 CDN 层通过 IP 请求频率智能判断,一般的高频请求不会触发此状态码

    6. 接口响应状态码

    状态码 状态码解释 备注
    100 正常返回 可通过判断此状态码断言接口正常返回
    -1 请求失败 请求处理请求失败
    501 参数错误 请检查您传递的参数个数以及参数类型是否匹配
    502 请求频率受限 一般建议每秒请求不超过 100 次
    503 APPKEY 权限超限 /订单到期 请至开发者中心检查您的 APPKEY 是否到期或是否权限超限
    504 APPKEY 错误 请检查传递的 APPKEY 是否为开发者中心获取到的值
    505 请求的次数超出接口限制 请检查对应接口是否有请求次数限制以及您目前的接口请求剩余次数
    900 接口内部响应错误 接口可用性为 99.999%,如获取到此状态码请邮件联系我们

    7. 开发语言请求示例代码

    示例代码包含的开发语言:C#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift 等,其他语言进行对应的 RESTful API 请求实现即可。

    code demo

    8. 常见问题 Q&A


    咕咕数据,专业的数据提供商,提供专业全面的数据接口、商业数据分析,让数据成为您的生产原料。

    image-20200716141435988

    咕咕数据基于我们七年来为企业客户提供的千亿级数据存储与性能优化、相关海量基础数据支撑,将合规的部分通用数据、通用功能抽象成产品级数据 API ,大大满足了用户在产品开发过程中对基础数据的需求,同时降低了海量数据的存储与运维成本,以及复杂功能的技术门槛与人力开发成本。

    除了我们已开放的分类数据与功能接口外,还有海量数据正在整理、清洗、整合、构建中,后期会开放更多的数据与云端功能接口 API 供用户使用。

    目前已开放的数据接口 API

    ]]>
    国际标准书号 ISBN API 数据接口 tag:www.v2ex.com,2022-03-25:/t/842937 2022-03-25T13:07:10Z 2022-03-25T13:12:38Z Parry member/Parry 国际标准书号 ISBN API 数据接口

    图书 ISBN 查询,图书基础信息,永久图书封面。

    gugudata_api_cover

    1. 产品功能

    2. API 文档

    接口详情: https://www.gugudata.com/api/details/isbn

    接口地址: https://api.gugudata.com/text/isbn

    返回格式: application/json; charset=utf-8

    请求方式: GET

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/text/isbn?appkey=YOUR_APPKEY&isbn=YOUR_VALUE

    数据预览: https://www.gugudata.com/preview/isbn

    接口测试: https://api.gugudata.com/text/isbn/demo

    3. 请求参数

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 APPKEY
    isbn string YOUR_VALUE 图书 ISBN ,如 9787020002320

    4. 返回参数

    参数名 参数类型 备注
    DataStatus.StatusCode int 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
    DataStatus.RequestParameter string 请求参数,一般用于调试
    Data.Title string 图书名称
    Data.Author string 作者
    Data.Translator string 译者,没有译者时返回空字符串
    Data.ISBN string ISBN
    Data.Publisher string 出版商
    Data.PublisherDateTime string 出版年月,格式 2022-3
    Data.PageNumber string 图书总页码
    Data.Binding string 图书包装类型,如平装、精装
    Data.BriefIntroduction string 图书简介
    Data.AuthorIntroduction string 作者简介
    Data.CoverImage string 图书封面图片永久地址

    5. 接口响应状态码

    状态码 状态码解释 备注
    100 正常返回 可通过判断此状态码断言接口正常返回
    -1 请求失败 请求处理请求失败
    501 参数错误 请检查您传递的参数个数以及参数类型是否匹配
    502 请求频率受限 一般建议每秒请求不超过 100 次
    503 APPKEY 权限超限 /订单到期 请至开发者中心检查您的 APPKEY 是否到期或是否权限超限
    504 APPKEY 错误 请检查传递的 APPKEY 是否为开发者中心获取到的值
    505 请求的次数超出接口限制 请检查对应接口是否有请求次数限制以及您目前的接口请求剩余次数
    900 接口内部响应错误 接口可用性为 99.999%,如获取到此状态码请邮件联系我们

    6. 开发语言请求示例代码

    示例代码包含的开发语言:C#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift 等,其他语言进行对应的 RESTful API 请求实现即可。

    code demo

    7. 常见问题 Q&A


    咕咕数据,专业的数据提供商,提供专业全面的数据接口、商业数据分析,让数据成为您的生产原料。

    image-20200716141435988

    咕咕数据基于我们七年来为企业客户提供的千亿级数据存储与性能优化、相关海量基础数据支撑,将合规的部分通用数据、通用功能抽象成产品级数据 API ,大大满足了用户在产品开发过程中对基础数据的需求,同时降低了海量数据的存储与运维成本,以及复杂功能的技术门槛与人力开发成本。

    除了我们已开放的分类数据与功能接口外,还有海量数据正在整理、清洗、整合、构建中,后期会开放更多的数据与云端功能接口 API 供用户使用。

    目前已开放的数据接口 API

    ]]>
    acme.sh + zerossl 今天有问题 tag:www.v2ex.com,2022-03-14:/t/840345 2022-03-14T14:48:02Z 2022-03-14T15:05:34Z ab member/ab 最后一步不停 retry ,最后挂掉 504

    ]]>
    A 股分时交易数据数据接口 API tag:www.v2ex.com,2022-01-01:/t/825685 2022-01-01T11:23:52Z 2022-01-01T11:23:52Z Parry member/Parry A 股分时交易数据

    全量 A 股分时交易数据,分钟级交易数据 / 多时间段区间。

    gugudata_api_cover

    1. 产品功能

    2. API 文档

    接口详情: https://www.gugudata.com/api/details/stockcnperminute

    接口地址: https://api.gugudata.com/stock/cn/stockcnperminute

    返回格式: application/json; charset=utf-8

    请求方式: GET

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/stock/cn/stockcnperminute?appkey=YOUR_APPKEY &symbol=YOUR_VALUE &period=5 &begindate=YOUR_VALUE &enddate=YOUR_VALUE &adjust=YOUR_VALUE

    数据预览: https://www.gugudata.com/preview/stockcnperminute

    接口测试: https://api.gugudata.com/stock/cn/stockcnperminute/demo

    3. 请求参数(如果为 POST 请求,那么参数以 JSON 的格式传递)

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 APPKEY
    symbol string YOUR_VALUE 传递单支股票代码,如: 600031 。可通过前置接口或参见 A 股股票代码参数枚举页面
    period int 5 交易数据时间区间,可选时间区间价参数为: 1|5|15|30|60 (分钟), 其中 1 分钟时间区间交易数据仅返回近 5 个交易日不复权数据
    begindate string YOUR_VALUE 交易开始时间,参数格式为: 2021-01-01 09:00:00
    enddate string YOUR_VALUE 交易结束时间,参数格式为: 2021-01-01 09:00:00 ,与开始时间最大时间跨度支持 366 个自然日,获取全量数据请分批获取,数据量较大,请保持合理的请求频率
    adjust string YOUR_VALUE 查询前复权、后复权数据,如果传递参数值为 pre ,那么返回前复权数据(所有数据进行了前复权);如果传递参数值为 after ,那么返回后复权数据;默认值为空或不传递,返回未复权数据

    4. 返回参数

    参数名 参数类型 备注
    DataStatus.StatusCode int 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
    Data.Symbol string A 股股票代码
    Data.TimeKey double 最新价,单位:元
    Data.Open double 今日开盘价,单位:元
    Data.Close double 昨收价,单位:元
    Data.High double 最高,单位:元
    Data.Low double 最低,单位:元
    Data.ChangePercent double 涨跌幅 ,单位:%
    Data.ChangeAmount double 涨跌额 ,单位:元
    Data.TradingVolume double 成交量,单位:手
    Data.TradingAmount int 成交额 ,单位:元
    Data.Swing double 振幅,单位:%
    Data.TurnoverRate double 换手率 ,单位:%

    5. 接口响应状态码

    状态码 状态码解释 备注
    100 正常返回 可通过判断此状态码断言接口正常返回
    -1 请求失败 请求处理请求失败
    501 参数错误 请检查您传递的参数个数以及参数类型是否匹配
    502 请求频率受限 一般建议每秒请求不超过 100 次
    503 APPKEY 权限超限 /订单到期 请至开发者中心检查您的 APPKEY 是否到期或是否权限超限
    504 APPKEY 错误 请检查传递的 APPKEY 是否为开发者中心获取到的值
    505 请求的次数超出接口限制 请检查对应接口是否有请求次数限制以及您目前的接口请求剩余次数
    900 接口内部响应错误 接口可用性为 99.999%,如获取到此状态码请邮件联系我们

    6. 开发语言请求示例代码

    示例代码包含的开发语言:C#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift 等,其他语言进行对应的 RESTful API 请求实现即可。

    image-20210629091827770


    咕咕数据,专业的数据提供商,提供专业全面的数据接口、商业数据分析,让数据成为您的生产原料。

    image-20200716141435988

    咕咕数据基于我们五年来为企业客户提供的海量数据支撑,将部分通用数据、通用功能抽象成产品级 API ,大大满足了用户在产品开发过程中对基础数据的需求,同时降低了复杂功能的实现门槛与人力成本。

    除了我们已开放的分类数据与接口外,还有海量数据正在整理、清洗、整合、构建中,后期会开放更多的数据与云端功能接口供用户使用。

    目前已开放的数据接口 API

    ]]>
    A 股历年三大财务报表 API 数据接口 tag:www.v2ex.com,2022-01-01:/t/825664 2022-01-01T07:50:01Z 2022-01-01T07:50:01Z Parry member/Parry A 股历年三大财务报表

    历年所有财报数据,全量 A 股数据,最全三大财报数据。

    gugudata_api_cover

    1. 产品功能

    2. API 文档

    接口详情: https://www.gugudata.com/api/details/annualreport

    接口地址: https://api.gugudata.com/stock/cn/annualreport

    返回格式: application/json; charset=utf-8

    请求方式: GET

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/stock/cn/annualreport?appkey=YOUR_APPKEY&symbol=YOUR_VALUE&type=

    数据预览: https://www.gugudata.com/preview/annualreport

    接口测试: https://api.gugudata.com/stock/cn/annualreport/demo

    3. 请求参数(如果为 POST 请求,那么参数以 JSON 的格式传递)

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 APPKEY
    symbol string YOUR_VALUE 传递单支股票代码,如: 600031 。可通过前置接口或参见 A 股股票代码参数枚举页面
    type string 三大财报类型,可选值为:资产负债表|利润表|现金流量表

    4. 返回参数

    参数名 参数类型 备注
    DataStatus.StatusCode int 接口返回状态码
    DataStatus.StatusDescription string 接口返回状态说明
    DataStatus.ResponseDateTime string 接口数据返回时间
    DataStatus.DataTotalCount int 此条件下的总数据量,一般用于分页计算
    Data.columns string[] 财报的数据列名称,注意因为财报数据字段非常多且为了保证表达精准性,这里的字段说明以中文进行表达。
    Data.data string[][] 对应时间点的具体财报数据
    Data.data.资产负债表 string[] 资产负债表.报表日期 资产负债表.单位 资产负债表.资产 资产负债表.现金及存放中央银行款项 资产负债表.存放同业款项 资产负债表.拆出资金 资产负债表.贵金属 资产负债表.交易性金融资产 资产负债表.衍生金融工具资产 资产负债表.买入返售金融资产 资产负债表.应收利息 资产负债表.发放贷款及垫款 资产负债表.代理业务资产 资产负债表.可供出售金融资产 资产负债表.持有至到期投资 资产负债表.长期股权投资 资产负债表.应收投资款项 资产负债表.固定资产合计 资产负债表.无形资产 资产负债表.商誉 资产负债表.递延税款借项 资产负债表.投资性房地产 资产负债表.其他资产 资产负债表.资产总计 资产负债表.负债 资产负债表.向中央银行借款 资产负债表.同业存入及拆入 资产负债表.其中:同业存放款项 资产负债表.拆入资金 资产负债表.衍生金融工具负债 资产负债表.交易性金融负债 资产负债表.卖出回购金融资产款 资产负债表.客户存款(吸收存款) 资产负债表.应付职工薪酬 资产负债表.应交税费 资产负债表.应付利息 资产负债表.应付账款 资产负债表.代理业务负债 资产负债表.应付债券 资产负债表.递延所得税负债 资产负债表.预计负债 资产负债表.其他负债 资产负债表.负债合计 资产负债表.所有者权益 资产负债表.股本 资产负债表.其他权益工具 资产负债表.其中:优先股 资产负债表.资本公积 资产负债表.减:库藏股 资产负债表.其他综合收益 资产负债表.盈余公积 资产负债表.未分配利润 资产负债表.一般风险准备 资产负债表.外币报表折算差额 资产负债表.其他储备 资产负债表.归属于母公司股东的权益 资产负债表.少数股东权益 资产负债表.股东权益合计 资产负债表.负债及股东权益总计
    Data.data.利润表 string[] 利润表.报表日期 利润表.单位 利润表.一、营业收入 利润表.利息净收入 利润表.其中:利息收入 利润表.减:利息支出 利润表.手续费及佣金净收入 利润表.其中:手续费及佣金收入 利润表.减:手续费及佣金支出 利润表.汇兑收益 利润表.投资净收益 利润表.其中:对联营公司的投资收益 利润表.公允价值变动净收益 利润表.其他业务收入 利润表.二、营业支出 利润表.营业税金及附加 利润表.业务及管理费用 利润表.研发费用 利润表.资产减值损失 利润表.其他业务支出 利润表.三、营业利润 利润表.加:营业外收入 利润表.减:营业外支出 利润表.四、利润总额 利润表.减:所得税 利润表.五、净利润 利润表.归属于母公司的净利润 利润表.少数股东权益 利润表.六、每股收益 利润表.基本每股收益(元 /股) 利润表.稀释每股收益(元 /股) 利润表.七、其他综合收益 利润表.八、综合收益总额 利润表.归属于母公司所有者的综合收益总额 利润表.归属于少数股东的综合收益总额
    Data.data.现金流量表 string[] 现金流量表.报表日期 现金流量表.单位 现金流量表.一、经营活动产生的现金流量 现金流量表.客户存款和同业存放款项净增加额 现金流量表.向央行借款净增加额 现金流量表.向其他金融机构拆入资金净增加额 现金流量表.收取利息、手续费及佣金的现金 现金流量表.收到其他与经营活动有关的现金 现金流量表.经营活动现金流入小计 现金流量表.客户贷款及垫款净增加额 现金流量表.存放中央银行和同业款项净增加额 现金流量表.支付给职工以及为职工支付的现金 现金流量表.支付的各项税费 现金流量表.支付其他与经营活动有关的现金 现金流量表.支付利息、手续费及佣金的现金 现金流量表.经营活动现金流出小计 现金流量表.经营活动产生的现金流量净额 现金流量表.二、投资活动产生的现金流量 现金流量表.收回投资收到的现金 现金流量表.取得投资收益收到的现金 现金流量表.处置固定资产、无形资产及其他资产而收到的现金 现金流量表.取得子公司及其他营业单位所收到的现金净额 现金流量表.收到其他与投资活动有关的现金 现金流量表.投资活动现金流入小计 现金流量表.投资支付的现金 现金流量表.购建固定资产、无形资产和其他长期资产支付的现金 现金流量表.支付的其他与投资活动有关的现金 现金流量表.投资活动现金流出小计 现金流量表.投资活动产生的现金流量净额 现金流量表.三、筹资活动产生的现金流量 现金流量表.吸收投资所收到的现金 现金流量表.发行证券化资产所吸收的现金 现金流量表.发行债券收到的现金 现金流量表.增加股本所收到的现金 现金流量表.收到其他与筹资活动有关的现金 现金流量表.筹资活动现金流入小计 现金流量表.偿还债务所支付的现金 现金流量表.分配股利、利润或偿付利息支付的现金 现金流量表.其中:偿付利息所支付的现金 现金流量表.支付新股发行费用 现金流量表.支付其他与筹资活动有关的现金 现金流量表.筹资活动现金流出小计 现金流量表.筹资活动产生的现金流量净额 现金流量表.四、汇率变动对现金及现金等价物的影响 现金流量表.五、现金及现金等价物净增加额 现金流量表.加:期初现金及现金等价物余额 现金流量表.六、期末现金及现金等价物余额 现金流量表.附注 现金流量表.净利润 现金流量表.加:少数股东收益 现金流量表.计提的资产减值准备 现金流量表.其中:计提的坏账准备 现金流量表.计提的贷款损失准备 现金流量表.冲回存放同业减值准备 现金流量表.固定资产折旧、油气资产折耗、生产性生物资产折旧 现金流量表.投资性房地产折旧 现金流量表.无形资产、递延资产及其他资产的摊销 现金流量表.其中:无形资产摊销 现金流量表.长期待摊费用摊销 现金流量表.长期资产摊销 现金流量表.处置固定资产、无形资产和其他长期产的损失 /(收益) 现金流量表.处置投资性房地产的损失 /(收益) 现金流量表.固定资产报废损失 现金流量表.财务费用 现金流量表.投资损失(减:收益) 现金流量表.公允价值变动(收益)/损失 现金流量表.汇兑损益 现金流量表.衍生金融工具交易净损益 现金流量表.折现回拔(减值资产利息冲转) 现金流量表.存货的减少 现金流量表.贷款的减少 现金流量表.存款的增加 现金流量表.拆借款项的净增 现金流量表.金融性资产的减少 现金流量表.预计负债的增加 现金流量表.收到已核销款项 现金流量表.递延所得税资产的减少 现金流量表.递延所得税负债的增加 现金流量表.经营性应收项目的增加 现金流量表.经营性应付项目的增加 现金流量表.经营性其他资产的减少 现金流量表.经营性其他负债的增加 现金流量表.其他 现金流量表.经营活动现金流量净额 现金流量表.以固定资产偿还债务 现金流量表.以投资偿还债务 现金流量表.以固定资产进行投资 现金流量表.债务转为资本 现金流量表.一年内到期的可转换公司债券 现金流量表.融资租入固定资产 现金流量表.其他不涉及现金收支的投资和筹资活动金额 现金流量表.现金的期末余额 现金流量表.减:现金的期初余额 现金流量表.现金等价物的期末余额 现金流量表.减:现金等价物的期初余额 现金流量表.现金及现金等价物净增加额

    5. 接口响应状态码

    状态码 状态码解释 备注
    100 正常返回 可通过判断此状态码断言接口正常返回
    -1 请求失败 请求处理请求失败
    501 参数错误 请检查您传递的参数个数以及参数类型是否匹配
    502 请求频率受限 一般建议每秒请求不超过 100 次
    503 APPKEY 权限超限 /订单到期 请至开发者中心检查您的 APPKEY 是否到期或是否权限超限
    504 APPKEY 错误 请检查传递的 APPKEY 是否为开发者中心获取到的值
    505 请求的次数超出接口限制 请检查对应接口是否有请求次数限制以及您目前的接口请求剩余次数
    900 接口内部响应错误 接口可用性为 99.999%,如获取到此状态码请邮件联系我们

    6. 开发语言请求示例代码

    示例代码包含的开发语言:C#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift 等,其他语言进行对应的 RESTful API 请求实现即可。

    image-20210629091827770


    咕咕数据,专业的数据提供商,提供专业全面的数据接口、商业数据分析,让数据成为您的生产原料。

    image-20200716141435988

    咕咕数据基于我们七年来为企业客户提供的海量数据支撑,将部分通用数据、通用功能抽象成产品级 API ,大大满足了用户在产品开发过程中对基础数据的需求,同时降低了复杂功能的实现门槛与人力成本。

    除了我们已开放的分类数据与接口外,还有海量数据正在整理、清洗、整合、构建中,后期会开放更多的数据与云端功能接口供用户使用。

    目前已开放的数据接口 API

    ]]>
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86