{ "version": "https://jsonfeed.org/version/1", "title": "API", "description": "", "home_page_url": "go/api", "feed_url": "feed/api.json", "icon": "https://cdn.v2ex.com/navatar/8e98/d81f/307_large.png?m=1635476653", "favicon": "https://cdn.v2ex.com/navatar/8e98/d81f/307_normal.png?m=1635476653", "items": [ { "author": { "url": "member/lengrongec", "name": "lengrongec", "avatar": "https://cdn.v2ex.com/avatar/4080/c851/231666_large.png?m=1774849308" }, "url": "t/1166320", "title": "\u6240\u8c13\u7684 AI \u4f7f\u7528 API \u7684\u65f6\u5019\u63a8\u7406\u6a21\u5f0f\u8ba1\u7b97\u4f7f\u7528\u91cf\u7591\u60d1", "id": "t/1166320", "date_published": "2025-10-17T02:08:32+00:00", "content_html": "

\u662f\u54ea\u91cc\u8bbe\u7f6e\u4e0d\u5bf9\u4e86\uff1f DS \u7684 AI \u603b\u662f\u4e0d\u4f7f\u7528\u63a8\u7406\u6a21\u5f0f\uff1f\u800c\u662f\u9700\u8981\u5728\u5bf9\u8bdd\u4e2d\u5f3a\u8c03\u4f7f\u7528\u63a8\u7406\u6a21\u5f0f\uff0c\u4f46\u5b9e\u9645\u4e0a\u63a8\u7406\u6a21\u5f0f\u7684 API \u8ba1\u7b97\u4f7f\u7528\u5374\u5f88\u5c0f\uff1f\u54ea\u4f4d\u9ad8\u4eba\u7ed9\u89e3\u7b54\u4e0b\uff0c\u96be\u9053\u662f\u4ed6\u4eec\u6240\u8c13\u7684\u51fb\u4e2d\u7f13\u5b58\u5c31\u4e0d\u9700\u8981\u4f7f\u7528\u63a8\u7406\u6a21\u5f0f\uff1f

\n

\"\"\n\"\"\n\"\"\n\"\"

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1155797", "title": "\u516b\u5b57\u559c\u7528\u795e\u8d77\u540d\u5927\u5e08 API \u63a5\u53e3", "id": "t/1155797", "date_published": "2025-08-29T07:13:11+00:00", "content_html": "

\u516b\u5b57\u559c\u7528\u795e\u8d77\u540d\u5927\u5e08 API \u63a5\u53e3

\n

AI/\u6a21\u578b \u57fa\u4e8e\u516b\u5b57\u547d\u7406\u548c\u4e94\u884c\u76f8\u751f\u76f8\u514b\u7406\u8bba \u5341\u5e74\u6a21\u578b\u79ef\u7d2f / \u4e09\u624d\u4e94\u683c\u6570\u7406 \u59d3\u540d / \u516b\u5b57\u547d\u7406

\n

\"gugudata

\n

1. \u4ea7\u54c1\u529f\u80fd

\n
\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/name-generator

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/ai/name-generator?appkey={{appkey}}

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/ai/name-generator?appkey={{appkey}}

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/name-generator

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/ai/name-generator/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
lastnamestring\u662f\u59d3\u6c0f
genderstring\u662f\u6027\u522b\uff08\u7537/\u5973\uff09
birthdatetimestring\u662fN/A\u516c\u5386\u51fa\u751f\u5e74\u6708\u65e5\u65f6\uff0c\u683c\u5f0f\uff1aYYYY \u5e74 MM \u6708 DD \u65e5 HH:MM
birthplacestring\u662fN/A\u51fa\u751f\u5730\u70b9\uff08\u7701\u5e02\uff09\uff0c\u7528\u4e8e\u89c4\u907f\u53ef\u80fd\u7684\u8c10\u97f3
parentnamesstring\u5426\u7236\u6bcd\u59d3\u540d\uff08\u53ef\u9009\uff0c\u7528\u4e8e\u4eb2\u5b50\u97f3\u97f5\u642d\u914d\uff09
avoidwordsstring\u5426\u53ef\u9009\u907f\u7528\u5b57\uff08\u53ef\u9009\uff0c\u591a\u4e2a\u5b57\u7528\u9017\u53f7\u5206\u9694\uff09

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Dataobject\u63a5\u53e3\u8fd4\u56de\u7684\u5b8c\u6574 JSON \u6570\u636e\uff0c\u5305\u542b\u547d\u76d8\u5206\u6790\u3001\u5019\u9009\u540d\u5b57\u6e05\u5355\u3001\u6700\u4f73\u63a8\u8350\u3001\u6ce8\u610f\u4e8b\u9879\u7b49\u6240\u6709\u5b57\u6bb5\uff0c\u5177\u4f53\u53ef\u67e5\u770b DEMO \u63a5\u53e3 \u8fd4\u56de\u6570\u636e

DEMO

\n
\n{\n \"Data\": {\n \"\u547d\u76d8\u5206\u6790\u6458\u8981\": \"\u738b\u59d3\u5973\u5a74\uff0c\u751f\u4e8e 2023 \u5e74 5 \u6708 12 \u65e5 14:30 \uff08\u7678\u536f\u5e74\u4e01\u5df3\u6708\u5e9a\u5348\u65e5\u7678\u672a\u65f6\uff09\u3002\u516b\u5b57\uff1a\u5e9a\u5348\uff08\u65e5\u4e3b\uff09\u3001\u4e01\u5df3\u3001\u7678\u536f\u3001\u7678\u672a\u3002\u65e5\u4e3b\u5e9a\u91d1\u751f\u4e8e\u5df3\u6708\u706b\u65fa\u4e4b\u5730\uff0c\u5931\u4ee4\uff1b\u5730\u652f\u5df3\u5348\u672a\u4e09\u4f1a\u706b\u5c40\uff0c\u706b\u52bf\u6781\u65fa\u514b\u91d1\uff1b\u5929\u5e72\u53cc\u7678\u6c34\u900f\u51fa\uff0c\u4f46\u6c34\u5f31\u96be\u5236\u706b\u3002\u5168\u5c40\u706b\u65fa\u571f\u71e5\uff0c\u91d1\u5f31\u65e0\u6839\uff0c\u4e3a\u8eab\u5f31\u683c\u5c40\u3002\u4e94\u884c\u5206\u6790\uff1a\u706b\u6781\u65fa\uff08\u5b98\u6740\uff09\uff0c\u571f\u65fa\uff08\u5370\u661f\uff09\uff0c\u91d1\u5f31\uff08\u65e5\u4e3b\uff09\uff0c\u6c34\u5f31\uff08\u98df\u4f24\uff09\uff0c\u6728\u4f11\uff08\u8d22\u661f\uff09\u3002\u559c\u7528\u795e\u4e3a\u9996\u9009\u6c34\uff08\u8c03\u5019\u964d\u6e29\u3001\u5236\u706b\u62a4\u91d1\uff09\uff0c\u6b21\u9009\u571f\uff08\u5316\u706b\u751f\u91d1\uff09\u3002\u5fcc\u795e\u4e3a\u706b\u3001\u6728\u3002\",\n \"\u5019\u9009\u540d\u5b57\u6e05\u5355\": [\n {\n \"\u59d3\u540d\u5168\u79f0\": \"\u738b\u6e05\u6db5\",\n \"\u6c49\u8bed\u62fc\u97f3\": \"W\u00e1ng Q\u012bngh\u00e1n\",\n \"\u4e94\u884c\u8865\u76ca\u5206\u6790\": \"\u8865\u6c34\uff08\u6e05\u3001\u6db5\u5747\u5c5e\u6c34\uff09\uff0c\u6c34\u80fd\u5236\u706b\u8c03\u5019\uff0c\u5e76\u751f\u52a9\u65e5\u4e3b\u5e9a\u91d1\",\n \"\u4e09\u624d\u4e94\u683c\u5206\u6790\": \"\u5929\u683c 5(\u571f)-\u4eba\u683c 16(\u571f)-\u5730\u683c 24(\u706b)-\u603b\u683c 28(\u91d1)-\u5916\u683c 13(\u706b)\u3002\u4e09\u624d\u914d\u7f6e\uff1a\u571f\u571f\u706b\u3002\u4eba\u683c 16 \u4e3a\u4e3b\u8fd0\uff0c\u539a\u91cd\u8f7d\u5fb7\u4e4b\u5409\u6570\uff1b\u603b\u683c 28 \u4e3a\u78e8\u94c1\u6210\u9488\u4e4b\u5409\u6570\uff0c\u4f46\u5730\u683c 24 \u548c\u5916\u683c 13 \u4e3a\u706b\uff0c\u9700\u6ce8\u610f\u706b\u65fa\u538b\u529b\u3002\u6574\u4f53\u6570\u7406\u5409\u51f6\uff1a\u5409\u591a\u4e8e\u51f6\uff08\u8bc4\u5206 92 \uff09\",\n \"\u7ecf\u5178\u51fa\u5904\": \"\u65e0\u7279\u5b9a\u5178\u7c4d\u51fa\u5904\uff0c\u4f46\u6e05\u6db5\u53d6\u81ea\u6e05\u6cc9\u6db5\u7389\u4e4b\u610f\uff0c\u7b26\u5408\u6c34\u8c61\u96c5\u97f5\",\n \"\u73b0\u4ee3\u5bd3\u610f\u89e3\u8bfb\": \"\u6e05\uff1a\u6e05\u6f88\u9ad8\u6d01\uff1b\u6db5\uff1a\u5305\u5bb9\u6db5\u517b\u3002\u540d\u5b57\u5bd3\u610f\u5973\u5b50\u51b0\u6e05\u7389\u6d01\u3001\u80f8\u6000\u5bbd\u5e7f\uff0c\u97f3\u97f5\u67d4\u7f8e\u6d41\u7545\"\n },\n {\n \"\u59d3\u540d\u5168\u79f0\": \"\u738b\u6c90\u7476\",\n \"\u6c49\u8bed\u62fc\u97f3\": \"W\u00e1ng M\u00f9y\u00e1o\",\n \"\u4e94\u884c\u8865\u76ca\u5206\u6790\": \"\u8865\u6c34\uff08\u6c90\u5c5e\u6c34\uff09\u3001\u8865\u91d1\uff08\u7476\u5c5e\u91d1\uff0c\u91d1\u751f\u6c34\u52a9\u7528\u795e\uff09\uff0c\u6c34\u91d1\u76f8\u751f\u5f3a\u5316\u8c03\u5019\",\n \"\u4e09\u624d\u4e94\u683c\u5206\u6790\": \"\u5929\u683c 5(\u571f)-\u4eba\u683c 13(\u706b)-\u5730\u683c 24(\u706b)-\u603b\u683c 28(\u91d1)-\u5916\u683c 16(\u571f)\u3002\u4e09\u624d\u914d\u7f6e\uff1a\u571f\u706b\u706b\u3002\u4eba\u683c 13 \u4e3a\u667a\u7565\u8d85\u7fa4\u4e4b\u5409\u6570\uff1b\u603b\u683c 28 \u4e3a\u5409\u6570\u3002\u4f46\u5730\u683c 24 \u706b\u65fa\uff0c\u9700\u7ed3\u5408\u516b\u5b57\u6ce8\u610f\u706b\u52bf\u3002\u6574\u4f53\u6570\u7406\u5409\u51f6\uff1a\u4e2d\u5409\uff08\u8bc4\u5206 91 \uff09\",\n \"\u7ecf\u5178\u51fa\u5904\": \"\u65e0\",\n \"\u73b0\u4ee3\u5bd3\u610f\u89e3\u8bfb\": \"\u6c90\uff1a\u6da6\u6cfd\u6c90\u6d74\uff1b\u7476\uff1a\u7f8e\u7389\u3002\u540d\u5b57\u5bd3\u610f\u5982\u6c90\u6625\u98ce\u3001\u6e29\u6da6\u5982\u7389\uff0c\u73b0\u4ee3\u611f\u5f3a\u4e14\u5973\u6027\u5316\"\n },\n {\n \"\u59d3\u540d\u5168\u79f0\": \"\u738b\u96e8\u5bb8\",\n \"\u6c49\u8bed\u62fc\u97f3\": \"W\u00e1ng Y\u01d4ch\u00e9n\",\n \"\u4e94\u884c\u8865\u76ca\u5206\u6790\": \"\u8865\u6c34\uff08\u96e8\u5c5e\u6c34\uff09\uff0c\u6c34\u4e3a\u7b2c\u4e00\u7528\u795e\uff0c\u76f4\u63a5\u8c03\u5019\u964d\u6e29\",\n \"\u4e09\u624d\u4e94\u683c\u5206\u6790\": \"\u5929\u683c 5(\u571f)-\u4eba\u683c 13(\u706b)-\u5730\u683c 18(\u91d1)-\u603b\u683c 22(\u6728)-\u5916\u683c 11(\u6728)\u3002\u4e09\u624d\u914d\u7f6e\uff1a\u571f\u706b\u91d1\u3002\u4eba\u683c 13 \u5409\uff1b\u5730\u683c 18 \u91d1\u5409\uff0c\u8865\u76ca\u65e5\u4e3b\uff1b\u603b\u683c 22 \u6728\u4e3a\u51f6\u6570\uff08\u79cb\u8349\u9022\u971c\uff09\uff0c\u4f46\u516b\u5b57\u5fcc\u6728\uff0c\u9700\u8c28\u614e\u3002\u6574\u4f53\u6570\u7406\u5409\u51f6\uff1a\u5409\u51f6\u53c2\u534a\uff08\u8bc4\u5206 90 \uff09\",\n \"\u7ecf\u5178\u51fa\u5904\": \"\u65e0\",\n \"\u73b0\u4ee3\u5bd3\u610f\u89e3\u8bfb\": \"\u96e8\uff1a\u7518\u9716\uff1b\u5bb8\uff1a\u5e1d\u738b\u5c45\u6240\u3002\u540d\u5b57\u5bd3\u610f\u5929\u964d\u798f\u6cfd\u3001\u5c0a\u8d35\u5927\u6c14\uff0c\u97f3\u97f5\u6291\u626c\u987f\u632b\"\n },\n {\n \"\u59d3\u540d\u5168\u79f0\": \"\u738b\u6eaa\u7136\",\n \"\u6c49\u8bed\u62fc\u97f3\": \"W\u00e1ng X\u012br\u00e1n\",\n \"\u4e94\u884c\u8865\u76ca\u5206\u6790\": \"\u8865\u6c34\uff08\u6eaa\u5c5e\u6c34\uff09\uff0c\u6c34\u5236\u706b\u8c03\u5019\uff0c\u7136\u5b57\u5c5e\u706b\u4f46\u4e3a\u865a\u8bcd\u5f71\u54cd\u5c0f\",\n \"\u4e09\u624d\u4e94\u683c\u5206\u6790\": \"\u5929\u683c 5(\u571f)-\u4eba\u683c 18(\u91d1)-\u5730\u683c 20(\u6c34)-\u603b\u683c 24(\u706b)-\u5916\u683c 13(\u706b)\u3002\u4e09\u624d\u914d\u7f6e\uff1a\u571f\u91d1\u6c34\u3002\u4eba\u683c 18 \u91d1\u5409\uff0c\u8865\u76ca\u65e5\u4e3b\uff1b\u5730\u683c 20 \u6c34\u5409\uff0c\u52a9\u7528\u795e\uff1b\u4f46\u603b\u683c 24 \u706b\u4e3a\u5fcc\u3002\u6574\u4f53\u6570\u7406\u5409\u51f6\uff1a\u4e2d\u5409\uff08\u8bc4\u5206 91 \uff09\",\n \"\u7ecf\u5178\u51fa\u5904\": \"\u65e0\",\n \"\u73b0\u4ee3\u5bd3\u610f\u89e3\u8bfb\": \"\u6eaa\uff1a\u6eaa\u6d41\uff1b\u7136\uff1a\u81ea\u7136\u4e4b\u6001\u3002\u540d\u5b57\u5bd3\u610f\u606c\u9759\u81ea\u7136\u3001\u6e05\u6f88\u7075\u52a8\uff0c\u7b26\u5408\u73b0\u4ee3\u7b80\u7ea6\u5ba1\u7f8e\"\n },\n {\n \"\u59d3\u540d\u5168\u79f0\": \"\u738b\u6c81\u6021\",\n \"\u6c49\u8bed\u62fc\u97f3\": \"W\u00e1ng Q\u00ecny\u00ed\",\n \"\u4e94\u884c\u8865\u76ca\u5206\u6790\": \"\u8865\u6c34\uff08\u6c81\u5c5e\u6c34\uff09\uff0c\u6c34\u4e3a\u7528\u795e\uff1b\u6021\u5c5e\u571f\uff0c\u571f\u80fd\u5316\u706b\u751f\u91d1\uff0c\u4e3a\u6b21\u7528\u795e\",\n \"\u4e09\u624d\u4e94\u683c\u5206\u6790\": \"\u5929\u683c 5(\u571f)-\u4eba\u683c 13(\u706b)-\u5730\u683c 17(\u91d1)-\u603b\u683c 21(\u6728)-\u5916\u683c 10(\u6c34)\u3002\u4e09\u624d\u914d\u7f6e\uff1a\u571f\u706b\u91d1\u3002\u4eba\u683c 13 \u5409\uff1b\u5730\u683c 17 \u91d1\u5409\uff0c\u8865\u65e5\u4e3b\uff1b\u5916\u683c 10 \u6c34\u51f6\uff08\u4e07\u4e8b\u7ec8\u5c40\uff09\uff0c\u4f46\u6c34\u4e3a\u7528\u795e\u53ef\u5316\u89e3\u3002\u6574\u4f53\u6570\u7406\u5409\u51f6\uff1a\u5409\u591a\u4e8e\u51f6\uff08\u8bc4\u5206 90 \uff09\",\n \"\u7ecf\u5178\u51fa\u5904\": \"\u65e0\",\n \"\u73b0\u4ee3\u5bd3\u610f\u89e3\u8bfb\": \"\u6c81\uff1a\u6e17\u900f\u6ecb\u6da6\uff1b\u6021\uff1a\u6109\u60a6\u5b89\u7136\u3002\u540d\u5b57\u5bd3\u610f\u5fc3\u65f7\u795e\u6021\u3001\u6e29\u5a49\u53ef\u4eba\uff0c\u97f3\u97f5\u67d4\u548c\"\n }\n ],\n \"\u6700\u4f73\u63a8\u8350\": [\n {\n \"\u59d3\u540d\": \"\u738b\u6e05\u6db5\",\n \"\u7efc\u5408\u8bc4\u5206\": 95,\n \"\u63a8\u8350\u7406\u7531\": \"\u4e94\u884c\u53cc\u6c34\u5f3a\u8865\u7528\u795e\uff0c\u6570\u7406\u4eba\u683c 16 \u5409\u3001\u603b\u683c 28 \u5409\uff0c\u97f3\u97f5\u5e73\u4ec4\u534f\u8c03\uff08\u9633\u5e73-\u9634\u5e73-\u9633\u5e73\uff09\uff0c\u65e0\u65b9\u8a00\u4e0d\u826f\u8c10\u97f3\uff08\u68c0\u6d4b\u5434\u8bed\u533a\uff1a\u82cf\u5dde\u8bdd\u65e0\u6b67\u97f3\uff09\uff0c\u5bd3\u610f\u9ad8\u96c5\u4e14\u91cd\u540d\u7387\u4f4e\"\n },\n {\n \"\u59d3\u540d\": \"\u738b\u6c90\u7476\",\n \"\u7efc\u5408\u8bc4\u5206\": 93,\n \"\u63a8\u8350\u7406\u7531\": \"\u6c34\u91d1\u76f8\u751f\u5951\u5408\u559c\u7528\uff0c\u6570\u7406\u4eba\u683c 13 \u667a\u7565\u5409\uff0c\u73b0\u4ee3\u611f\u5f3a\uff0c\u97f3\u5f8b\u4f18\u7f8e\uff08\u9633\u5e73-\u53bb\u58f0-\u9633\u5e73\uff09\uff0c\u907f\u7528\u5b57\u68c0\u67e5\u65e0\u8bef\"\n }\n ],\n \"\u6ce8\u610f\u4e8b\u9879\": \"1. \u516b\u5b57\u706b\u65fa\uff0c\u907f\u514d\u4f7f\u7528\u706b\u3001\u6728\u5c5e\u6027\u5b57\uff08\u5982\u708e\u3001\u7433\u3001\u68ee\u7b49\uff09\uff1b 2. \u5730\u683c\u6570\u7406 24 \u867d\u4e3a\u5409\u6570\uff0c\u4f46\u5c5e\u706b\uff0c\u9700\u7ed3\u5408\u540d\u5b57\u4e94\u884c\u5316\u89e3\uff1b 3. \u51fa\u751f\u5728\u82cf\u5dde\uff08\u5434\u8bed\u533a\uff09\uff0c\u5df2\u68c0\u6d4b\u5019\u9009\u540d\u5b57\u65e0\u5f53\u5730\u65b9\u8a00\u4e0d\u826f\u8c10\u97f3\uff08\u5982\u738b\u6c90\u7476\u5728\u82cf\u5dde\u8bdd\u4e2d\u65e0\u6b67\u4e49\uff09\uff1b 4. \u6240\u6709\u7528\u5b57\u5747\u7b26\u5408\u901a\u7528\u89c4\u8303\u6c49\u5b57\u8868\u4e00\u7ea7\u5b57\u5e93\u3002\"\n }\n}\n\n
\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1148872", "title": "PPT \u8f6c\u9ad8\u7cbe\u5ea6\u56fe\u7247 API \u63a5\u53e3", "id": "t/1148872", "date_published": "2025-07-30T14:35:33+00:00", "content_html": "

PPT \u8f6c\u9ad8\u7cbe\u5ea6\u56fe\u7247 API \u63a5\u53e3

\n

\u6587\u4ef6\u5904\u7406 / \u56fe\u7247\u5904\u7406\uff0c\u5c06 PPT \u6587\u4ef6\u8f6c\u6362\u4e3a\u56fe\u7247\u5e8f\u5217\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/ppt-to-images

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/imagerecognition/ppt-to-images?appkey=YOUR_APPKEY

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/imagerecognition/ppt-to-images?appkey=YOUR_APPKEY

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/ppt-to-images

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/imagerecognition/ppt-to-images/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
filefile\u662fPPT \u6587\u4ef6\uff0c\u652f\u6301 .ppt \u548c .pptx \u683c\u5f0f

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.RequestParameterstring\u8bf7\u6c42\u53c2\u6570\u5b57\u7b26\u4e32
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u8f6c\u6362\u540e\u7684\u56fe\u7247\u603b\u6570
Dataarray\u8f6c\u6362\u540e\u7684\u56fe\u7247 URL \u6570\u7ec4\uff0c\u652f\u6301\u6c38\u4e45\u5b58\u50a8
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1146436", "date_modified": "2025-07-20T08:28:47+00:00", "content_html": "

\u7f51\u9875 URL \u8f6c Markdown API \u63a5\u53e3

\n

\u7f51\u7ad9\u5de5\u5177 \u5c06\u4efb\u610f\u7f51\u9875 URL \u8f6c\u6362\u4e3a Markdown \u683c\u5f0f\u6587\u672c \u7f51\u9875\u5185\u5bb9\u63d0\u53d6 / \u7f51\u9875\u89e3\u6790 \u7f51\u7ad9\u5de5\u5177 / markdown

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/url2markdown

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/websitetools/url2markdown

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/websitetools/url2markdown?appkey=YOUR_APPKEY&url=https://www.example.com

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/url2markdown

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/websitetools/url2markdown/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
urlstring\u662fhttps://www.example.com\u9700\u8981\u8f6c\u6362\u7684\u7f51\u9875 URL \u5730\u5740\uff0c\u5fc5\u987b\u662f\u6709\u6548\u7684 HTTP \u6216 HTTPS \u94fe\u63a5

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Datastring\u7f51\u9875\u8f6c\u6362\u540e\u7684 Markdown \u683c\u5f0f\u5185\u5bb9
", "date_published": "2025-07-20T08:28:16+00:00", "title": "\u7f51\u9875 URL \u8f6c Markdown API \u63a5\u53e3", "id": "t/1146436" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1132185", "title": "PPT \u8f6c\u9ad8\u7cbe\u5ea6 PDF API \u63a5\u53e3", "id": "t/1132185", "date_published": "2025-05-16T04:59:30+00:00", "content_html": "

PPT \u8f6c\u9ad8\u7cbe\u5ea6 PDF API \u63a5\u53e3

\n

\u56fe\u50cf/\u8f6c\u6362 \u5c06 PPT \u6587\u4ef6\u8f6c\u6362\u4e3a PDF \u6587\u6863 \u6587\u4ef6\u8f6c\u6362 / \u8d85\u9ad8\u7cbe\u5ea6\u4e0e\u8fd8\u539f\u5ea6 \u6587\u4ef6\u8f6c\u6362 / PDF \u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/ppt-to-pdf

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/imagerecognition/ppt-to-pdf?appkey={{YOUR_APPKEY}}

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/imagerecognition/ppt-to-pdf?appkey={{YOUR_APPKEY}}

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/ppt-to-pdf

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/imagerecognition/ppt-to-pdf/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
filefile\u662fPPT \u6587\u4ef6\uff0c\u652f\u6301 .ppt \u548c .pptx \u683c\u5f0f

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.RequestParameterstring\u8bf7\u6c42\u53c2\u6570\u5b57\u7b26\u4e32
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
Datastring\u8f6c\u6362\u540e\u7684 PDF \u6587\u4ef6\u4e0b\u8f7d URL \uff0c\u652f\u6301\u6c38\u4e45\u5b58\u50a8
" }, { "author": { "url": "member/vxthon", "name": "vxthon", "avatar": "https://cdn.v2ex.com/avatar/c62c/9f7e/426711_large.png?m=1724121354" }, "url": "t/1121808", "title": "2025 \u5e74\u6709\u54ea\u4e9b\u53ef\u7528\u7684\u77ed\u4fe1\u63d0\u9192\u7684\u90ae\u7bb1\u670d\u52a1", "id": "t/1121808", "date_published": "2025-03-28T08:44:14+00:00", "content_html": "

\u4f7f\u7528 Uptime Kuma \u76d1\u63a7\u4e00\u4e9b\u670d\u52a1\uff0c\u671f\u671b\u53ef\u4ee5\u53ca\u65f6\u7684\u6536\u5230\u901a\u77e5\u3002\u76ee\u524d\u770b\u914d\u5408 iOS \u5feb\u6377\u6307\u4ee4 + \u77ed\u4fe1\u81ea\u52a8\u5316\u53ef\u4ee5\u5b8c\u7f8e\u5b9e\u73b0\u3002\u4f46\u662f\u76ee\u524d\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\u5bf9\u4e2a\u4eba\u5f00\u53d1\u8005\u5ba1\u6838\u4f53\u9a8c\u5f88\u5dee\uff0c\u8fd0\u8425\u5546\u4e5f\u5404\u79cd\u9650\u5236\u548c\u53d1\u9001\u5931\u8d25\u3002

\n

\u76ee\u524d\u597d\u7528\u7684\u90ae\u7bb1\u670d\u52a1\uff0c\u5e26\u77ed\u4fe1\u901a\u77e5\u7684\u6709\u54ea\u4e9b\uff1f\u6536\u8d39\u548c\u4ed8\u8d39\u90fd\u53ef\u4ee5\u3002\u76ee\u524d\u67e5\u5230 139 \u90ae\u7bb1\u53ef\u4ee5\uff0c\u4f46\u662f\u9650\u5236\u79fb\u52a8\u53f7\u7801\u3002

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1118341", "title": "\u5168\u7403 QS \u4e16\u754c\u5927\u5b66\u6392\u540d\u6570\u636e API \u63a5\u53e3", "id": "t/1118341", "date_published": "2025-03-14T02:10:09+00:00", "content_html": "

\u5168\u7403 QS \u4e16\u754c\u5927\u5b66\u6392\u540d\u6570\u636e API \u63a5\u53e3\n\u9ad8\u7b49\u6559\u80b2\uff0c\u8be6\u7ec6\u6392\u540d\u6307\u6807\u548c\u5f97\u5206\u4fe1\u606f\uff0c\u5168\u7403\u6392\u540d\uff0c\u9ad8\u7b49\u6559\u80b2\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/global-university-ranking

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/metadata/global-university-ranking

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/metadata/global-university-ranking?appkey=YOUR_APPKEY&name=&pageIndex=1&pageSize=10

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/global-university-ranking

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/metadata/global-university-ranking/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
namestring\u5426\u5b66\u6821\u540d\u79f0\uff0c\u652f\u6301\u6a21\u7cca\u641c\u7d22\uff0c\u4e0d\u4f20\u5219\u8fd4\u56de\u6240\u6709\u6570\u636e
pageindexint\u54261\u5206\u9875\u53c2\u6570\uff0c\u7b2c\u51e0\u9875\uff0c\u9ed8\u8ba4\u503c\u4e3a 1
pagesizeint\u542610\u5206\u9875\u53c2\u6570\uff0c\u6bcf\u9875\u6761\u6570\uff0c\u53d6\u503c\u8303\u56f4\u5728 1 ~ 20 \u4e4b\u95f4\uff08\u542b\uff09

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.RequestParameterstring\u8bf7\u6c42\u53c2\u6570\u5b57\u7b26\u4e32
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.Idstring\u5495\u5495\u6570\u636e\u5e73\u53f0\u5927\u5b66\u552f\u4e00\u6807\u8bc6
Data.UniversityNamestring\u5927\u5b66\u540d\u79f0
Data.Regionstring\u6240\u5728\u5730\u533a
Data.Countrystring\u6240\u5728\u56fd\u5bb6
Data.Citystring\u6240\u5728\u57ce\u5e02
Data.LogoUrlstring\u5927\u5b66 Logo \u56fe\u7247\u5730\u5740
Data.Rankstring\u7efc\u5408\u6392\u540d
Data.AcademicReputationRankstring\u5b66\u672f\u58f0\u8a89\u6392\u540d
Data.AcademicReputationScorestring\u5b66\u672f\u58f0\u8a89\u5f97\u5206
Data.CitationsPerFacultyRankstring\u6bcf\u540d\u6559\u5e08\u7684\u5f15\u7528\u7387\u6392\u540d
Data.CitationsPerFacultyScorestring\u6bcf\u540d\u6559\u5e08\u7684\u5f15\u7528\u7387\u5f97\u5206
Data.FacultyStudentRatioRankstring\u5e08\u751f\u6bd4\u4f8b\u6392\u540d
Data.FacultyStudentRatioScorestring\u5e08\u751f\u6bd4\u4f8b\u5f97\u5206
Data.EmployerReputationRankstring\u96c7\u4e3b\u58f0\u8a89\u6392\u540d
Data.EmployerReputationScorestring\u96c7\u4e3b\u58f0\u8a89\u5f97\u5206
Data.EmploymentOutcomesRankstring\u5c31\u4e1a\u6210\u679c\u6392\u540d
Data.EmploymentOutcomesScorestring\u5c31\u4e1a\u6210\u679c\u5f97\u5206
Data.InternationalStudentRatioRankstring\u56fd\u9645\u5b66\u751f\u6bd4\u4f8b\u6392\u540d
Data.InternationalStudentRatioScorestring\u56fd\u9645\u5b66\u751f\u6bd4\u4f8b\u5f97\u5206
Data.InternationalResearchNetworkRankstring\u56fd\u9645\u7814\u7a76\u7f51\u7edc\u6392\u540d
Data.InternationalResearchNetworkScorestring\u56fd\u9645\u7814\u7a76\u7f51\u7edc\u5f97\u5206
Data.InternationalFacultyRatioRankstring\u56fd\u9645\u6559\u5e08\u6bd4\u4f8b\u6392\u540d
Data.InternationalFacultyRatioScorestring\u56fd\u9645\u6559\u5e08\u6bd4\u4f8b\u5f97\u5206
Data.SustainabilityRankstring\u53ef\u6301\u7eed\u53d1\u5c55\u6392\u540d
Data.SustainabilityScorestring\u53ef\u6301\u7eed\u53d1\u5c55\u5f97\u5206
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1114240", "title": "\u76f2\u6d3e\u516b\u5b57\u63a8\u7406 API \u6570\u636e\u63a5\u53e3", "id": "t/1114240", "date_published": "2025-02-26T01:00:11+00:00", "content_html": "

\u76f2\u6d3e\u516b\u5b57\u63a8\u7406 API \u6570\u636e\u63a5\u53e3

\n

AI / \u516b\u5b57\u547d\u7406 \u57fa\u4e8e\u516b\u5b57\u547d\u7406\u5206\u6790 \u547d\u7406\u5206\u6790 / \u516b\u5b57\u8fd0\u52bf\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/bazi-fortune-teller

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/ai/bazi-fortune-teller?appkey={{appkey}}

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/bazi-fortune-teller

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/ai/bazi-fortune-teller/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662f\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
userinfostring\u662fN/A\u7528\u6237\u8f93\u5165\u7684\u4e2a\u4eba\u4fe1\u606f\uff0c\u5305\u62ec\u6027\u522b\u3001\u516c\u5386\u6216\u8005\u519c\u5386\u51fa\u751f\u65e5\u671f\u53ca\u51fa\u751f\u65f6\u95f4

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.RequestParameterstring\u8bf7\u6c42\u7684\u53c2\u6570
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
Data.\u516b\u5b57string\u516b\u5b57\u6392\u76d8\u7ed3\u679c
Data.\u4e94\u884cstring\u4e94\u884c\u5c5e\u6027\u5206\u6790
Data.\u547d\u5babstring\u547d\u5bab\u4fe1\u606f
Data.\u8eab\u5babstring\u8eab\u5bab\u4fe1\u606f
Data.\u5927\u8fd0array\u6bcf\u4e2a\u9636\u6bb5\u7684\u5927\u8fd0\u4fe1\u606f\uff0c\u5305\u62ec\u8d77\u59cb\u5e74\u4efd\u3001\u7ec8\u6b62\u5e74\u4efd\u548c\u8fd0\u52bf\u540d\u79f0
Data.\u8fd0\u52bf\u5206\u6790object\u5b66\u4e1a\u3001\u5a5a\u59fb\u3001\u8d22\u8fd0\u3001\u5065\u5eb7\u3001\u4f53\u8c8c\u7279\u5f81\u53ca\u5173\u952e\u4e8b\u4ef6\u5206\u6790
Data.\u7efc\u5408\u8bc4\u4ef7string\u603b\u4f53\u8fd0\u52bf\u8bc4\u4ef7
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1111751", "title": "URL \u751f\u6210\u7f51\u7ad9\u622a\u56fe API \u6570\u636e\u63a5\u53e3", "id": "t/1111751", "date_published": "2025-02-16T04:35:29+00:00", "content_html": "

URL \u751f\u6210\u7f51\u7ad9\u622a\u56fe API \u6570\u636e\u63a5\u53e3

\n

\u7f51\u7ad9\u5de5\u5177 / \u622a\u56fe \u9ad8\u6548\u751f\u6210\u7f51\u9875\u622a\u56fe \u751f\u6210\u7f51\u9875\u622a\u56fe / \u56fe\u7247\u8f93\u51fa\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/url2image

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/websitetools/url2image

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: 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

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/url2image

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/websitetools/url2image/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
urlstring\u662fYOUR_VALUE\u9700\u8981\u622a\u53d6\u7684\u7f51\u9875 URL \u5730\u5740
widthint\u5426250\u8f93\u51fa\u622a\u56fe\u7684\u5bbd\u5ea6\uff0c\u9ed8\u8ba4\u503c\u4e3a 250
heightint\u5426250\u8f93\u51fa\u622a\u56fe\u7684\u9ad8\u5ea6\uff0c\u9ed8\u8ba4\u503c\u4e3a 250
viewportwidthint\u54261080\u6e32\u67d3\u89c6\u7a97\u7684\u5bbd\u5ea6\uff0c\u9ed8\u8ba4\u503c\u4e3a 1080
viewportheightint\u54261080\u6e32\u67d3\u89c6\u7a97\u7684\u9ad8\u5ea6\uff0c\u9ed8\u8ba4\u503c\u4e3a 1080
forcereloadboolean\u5426false\u5f3a\u5236\u91cd\u65b0\u52a0\u8f7d\u7f13\u5b58\u7684\u56fe\u7247\uff0c\u9ed8\u8ba4\u503c\u4e3a false
ismobileboolean\u5426false\u662f\u5426\u4ee5\u79fb\u52a8\u8bbe\u5907\u7684 User Agent \u6e32\u67d3\uff0c\u9ed8\u8ba4\u503c\u4e3a false
isfullpageboolean\u5426false\u662f\u5426\u622a\u53d6\u6574\u4e2a\u9875\u9762\u800c\u975e\u89c6\u7a97\u88c1\u526a\uff0c\u9ed8\u8ba4\u503c\u4e3a false
isdarkmodeboolean\u5426false\u662f\u5426\u4f18\u5148\u91c7\u7528\u6df1\u8272\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u503c\u4e3a false

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Datastring\u751f\u6210\u7684\u622a\u56fe\u56fe\u7247\u6d41\uff0c\u53ef\u76f4\u63a5\u7528\u4e8e\u5c55\u793a
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1104226", "title": "URL \u8f6c\u9759\u6001 HTML \u6587\u4ef6 API \u6570\u636e\u63a5\u53e3", "id": "t/1104226", "date_published": "2025-01-10T09:52:43+00:00", "content_html": "

URL \u8f6c\u9759\u6001 HTML \u6587\u4ef6 API \u6570\u636e\u63a5\u53e3

\n

\u7f51\u7ad9\u5de5\u5177 / HTML \u9ad8\u6548\u8f6c\u6362 URL \u5230\u9759\u6001 HTML \u751f\u6210\u9759\u6001 HTML \u7ad9\u70b9 / \u6c38\u4e45\u5b58\u50a8\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n

\u652f\u6301\u975e SPA \u7f51\u7ad9\u5185\u5bb9\u8f6c\u6362\uff1b\n\u8d85\u9ad8\u7684\u8fd8\u539f\u5ea6\u4e0e\u8f6c\u6362\u6027\u80fd\uff1b\n\u7ad9\u70b9\u8d44\u6e90\u538b\u7f29\u5230\u4e00\u4e2a\u5355\u4e00\u7684\u6587\u4ef6\uff1b\n\u8f93\u51fa HTML \u6587\u4ef6\u6c38\u4e45 CDN \u5b58\u50a8\u5730\u5740\uff1b\n\u8f93\u51fa\u53ef\u76f4\u63a5\u8bbf\u95ee\u7684 HTML \u7ad9\u70b9\u6587\u4ef6\uff1b

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/url2html

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/websitetools/url2html

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/websitetools/url2html

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/url2html

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/websitetools/url2html/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
urlstring\u662fYOUR_VALUE\u9700\u8981\u8f6c\u6362\u7684\u7f51\u9875 URL \u5730\u5740\uff0c\u6ce8\u610f SPA \u7c7b\u7ad9\u70b9\u53ef\u80fd\u6709\u83b7\u53d6\u4e0d\u5230\u9875\u9762\u5185\u5bb9\u7684\u60c5\u51b5

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Datastring\u751f\u6210\u7684 HTML \u6587\u4ef6 CDN \u5730\u5740
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1091915", "title": "PDF \u8f6c HTML API \u6570\u636e\u63a5\u53e3", "id": "t/1091915", "date_published": "2024-11-22T14:16:10+00:00", "content_html": "

PDF \u8f6c HTML API \u6570\u636e\u63a5\u53e3

\n

\u6587\u4ef6\u5904\u7406 / PDF \u9ad8\u6548 PDF \u8f6c HTML \u5de5\u5177 \u751f\u6210 HTML \u7ad9\u70b9 / \u53ef\u6c38\u4e45\u5b58\u50a8\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/pdf2html

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/imagerecognition/pdf2html?appkey={{appkey}}

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/imagerecognition/pdf2html?appkey={{appkey}}

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/pdf2html

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/imagerecognition/pdf2html/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
filefile\u662fYOUR_VALUEformdata \u6587\u4ef6\u6d41

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Datastring\u751f\u6210\u7684 HTML \u6587\u4ef6 CDN \u5730\u5740
" }, { "author": { "url": "member/Charon2050", "name": "Charon2050", "avatar": "https://cdn.v2ex.com/avatar/d85e/980f/619032_large.png?m=1775968414" }, "url": "t/1084371", "title": "\u6709\u6ca1\u6709\u53ef\u4ee5\u5229\u7528 AI\uff0c\u7cbe\u786e\u8bc6\u522b\u622a\u5c4f\u4e2d\u7279\u5b9a\u5185\u5bb9\u5750\u6807\u7684 API\uff1f", "id": "t/1084371", "date_published": "2024-10-28T09:46:13+00:00", "content_html": "

\u6211\u60f3\u8f93\u5165\u4e00\u5f20\u622a\u5c4f\u56fe\u7247\u548c\u4e00\u4e2a\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u7684\u76ee\u6807\uff0c\u8fd4\u56de\u76ee\u6807\u7684\u7cbe\u786e\u5750\u6807\u3002

\n

\u6bd4\u5982\u8f93\u5165\n{\"https://ooo.0x0.ooo/2024/10/28/OD3TzB.png\", \"\u53d1\u5e03\u6309\u94ae\"}

\n

\u8fd4\u56de\n(517,880)

\n" }, { "author": { "url": "member/huage", "name": "huage", "avatar": "https://cdn.v2ex.com/avatar/162a/2584/69678_large.png?m=1700057630" }, "url": "t/1081633", "title": "\u6709\u54ea\u4e9b\u5f00\u6e90\u7a0b\u5e8f\u53ef\u4ee5\u5feb\u901f\u6784\u5efa API \u670d\u52a1", "id": "t/1081633", "date_published": "2024-10-18T15:03:53+00:00", "content_html": "\u76ee\u524d\u6709\u4e00\u4e2a\u9700\u6c42\uff0c\u5728\u4e92\u8054\u7f51\u4e0a\u53d1\u5e03\u4e00\u4e2a API \u63a5\u53e3\uff0c\u7528\u4e8e\u7ed9\u5ba2\u6237\u7684\u4e00\u4e2a\u6d4b\u8bd5\u7a0b\u5e8f\u6765\u8c03\u7528\u3002\u76ee\u524d\u6709\u54ea\u4e9b\u6bd4\u8f83\u6210\u719f\u5ea6\u7a33\u5b9a\u7684\u5f00\u6e90\u7a0b\u5e8f\u53ef\u4ee5\u5feb\u901f\u7684\u53d1\u5e03\u63a5\u53e3\u670d\u52a1\uff1f" }, { "author": { "url": "member/teli", "name": "teli", "avatar": "https://cdn.v2ex.com/gravatar/e2d0410ad1743108f0131e1ccb3ac0c6?s=73&d=retro" }, "url": "t/1075825", "title": "\u4e00\u4e2a GET API URL \u8bbe\u8ba1\u7684\u6709\u8da3\u95ee\u9898", "id": "t/1075825", "date_published": "2024-09-25T14:35:53+00:00", "content_html": "\u8be5 GET URL \u7528\u6765\u83b7\u53d6\u67d0\u8d44\u6e90
URL \u5185\u542b\u8d44\u6e90\u6807\u8bc6

\u73b0\u8981\u4fee\u6539\u8bbe\u8ba1\uff1a
\u5982\u679c\u662f\u672c\u4eba\u521b\u5efa\u7684\u8d44\u6e90\uff0c\u53ef\u4ee5\u83b7\u53d6\u5230\u5168\u90e8\u4fe1\u606f
\u5982\u679c\u4e0d\u662f\u672c\u4eba\u521b\u5efa\u7684\u8d44\u6e90\uff0c\u53ef\u4ee5\u83b7\u53d6\u5230\u6982\u8981\u4fe1\u606f

\u8981\u6c42\uff1a
1. \u4e2d\u95f4\u6709\u9053\u7f51\u5173\uff0c\u4ee5 URL \u4e3a\u7f13\u5b58 KEY \uff0c\uff08\u56e0\u4e3a\u7b80\u5316\u4e86\u8bbe\u8ba1\uff09\u4e0d\u8003\u8651 HTTP \u5934\u4e2d\u7684\u7f13\u5b58\u63a7\u5236\u4fe1\u606f \u3002\u56e0\u6b64\u76f8\u540c\u7684 URL \u5e94\u8be5\u8fd4\u56de\u76f8\u540c\u7684\u5185\u5bb9
2. \u4e0d\u8003\u8651\u628a\u4e00\u4e2a\u8bf7\u6c42\uff0c\u62c6\u5206\u4e3a\u4e24\u4e2a\u3002\u6bd4\u5982\uff1a\u5148\u8bf7\u6c42\u8d44\u6e90\u7684\u521b\u5efa\u8005\u662f\u8c01\uff0c\u518d\u8bf7\u6c42\u8d44\u6e90\u4fe1\u606f
3. \u5f00\u59cb\u65f6\uff0c\u5ba2\u6237\u7aef\u4e0d\u77e5\u9053\u5f53\u524d\u7528\u6237 \u662f\u4e0d\u662f\u8d44\u6e90\u7684\u521b\u5efa\u8005
4. URL \u4e2d\u4e0d\u80fd\u5e26\u7528\u6237\u6807\u8bc6\uff0c\u4e0d\u7136\u7f51\u5173\u7684\u7f13\u5b58\u5f62\u540c\u865a\u8bbe


\u90a3\u4e48\uff0c\u8fd9\u4e2a API URL \u5e94\u8be5\u600e\u4e48\u8bbe\u8ba1\uff1f" }, { "author": { "url": "member/ikigai", "name": "ikigai", "avatar": "https://cdn.v2ex.com/avatar/114f/52e6/393249_large.png?m=1709459019" }, "url": "t/1075156", "title": "\u6709\u6ca1\u6709\u80fd\u83b7\u53d6\u6dd8\u5b9d\u8be6\u60c5\u7684 api \u5e73\u53f0", "id": "t/1075156", "date_published": "2024-09-23T09:55:48+00:00", "content_html": "" }, { "author": { "url": "member/tsja", "name": "tsja", "avatar": "https://cdn.v2ex.com/avatar/b58f/4505/570178_large.png?m=1772093736" }, "url": "t/1068912", "title": "\u8bf7\u95ee\u6709\u4ec0\u4e48 Midjourney API \u7ad9\u70b9?", "id": "t/1068912", "date_published": "2024-08-30T01:09:10+00:00", "content_html": "

\u7a0b\u5e8f\u5185\u60f3\u8981\u8c03\u7528 Midjourney API, \u6700\u597d\u662f\u56fd\u5185\u80fd\u591f\u8bbf\u95ee\u7684, \u8c22\u8c22\u5404\u4f4d v \u53cb\u4e86.

\n" }, { "author": { "url": "member/sxms77777", "name": "sxms77777", "avatar": "https://cdn.v2ex.com/avatar/dfbb/ae38/647495_large.png?m=1711420124" }, "url": "t/1064578", "title": "\u5144\u5f1f\u4eec\uff0c\u80fd\u63a8\u8350\u4e2a\u690d\u7269\u6570\u636e\u5e93\u5417", "id": "t/1064578", "date_published": "2024-08-13T03:25:35+00:00", "content_html": "

\u60f3\u641e\u4e2a\u690d\u7269\u76f8\u5173 app \uff0c\u8bb0\u5f55\u6d47\u6c34\u65f6\u95f4\u5565\u7684\u3002\u4f46\u662f\u690d\u7269\u4fe1\u606f\u4e0d\u77e5\u9053\u4ece\u54ea\u91cc\u83b7\u53d6\u3002\u5144\u5f1f\u4eec\u6709\u77e5\u9053\u7684\u690d\u7269\u6570\u636e\u5e93\u5417

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1064014", "title": "HTML \u8f6c PDF API \u63a5\u53e3", "id": "t/1064014", "date_published": "2024-08-10T09:24:20+00:00", "content_html": "

HTML \u8f6c PDF API \u63a5\u53e3

\n

\u652f\u6301\u7f51\u9875\u8f6c PDF \u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

API \u8be6\u60c5\u5730\u5740: https://www.gugudata.com/api/details/html2pdf

\n

\u63a5\u53e3\u8bf7\u6c42\u5730\u5740: https://api.gugudata.com/imagerecognition/html2pdf

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/imagerecognition/html2pdf

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/html2pdf

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/imagerecognition/html2pdf/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
typestring\u662fYOUR_VALUE\u53ef\u9009\u53c2\u6570\u4e3a HTML \u6216 URL
contentstring\u662fYOUR_VALUE\u5185\u5bb9\u6b63\u6587\uff0c\u5982\u679c type=HTML \uff0c\u90a3\u4e48\u4f20\u9012 HTML \u5185\u5bb9\uff1b\u5982\u679c type=URL \uff0c\u90a3\u4e48\u4f20\u9012\u9700\u8981\u5b58\u50a8\u4e3a PDF \u7684\u7ad9\u70b9 URL \u5373\u53ef

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Datastring\u8f6c\u6362\u540e\u7684 PDF \u6c38\u4e45\u94fe\u63a5
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1062058", "title": "\u8003\u9898\u76f8\u4f3c\u5ea6 AI \u5206\u6790 API \u6570\u636e\u63a5\u53e3", "id": "t/1062058", "date_published": "2024-08-02T07:55:29+00:00", "content_html": "

\u8003\u9898\u76f8\u4f3c\u5ea6 AI \u5206\u6790 API \u6570\u636e\u63a5\u53e3

\n

\u57fa\u4e8e AI \u7684\u76f8\u4f3c\u5ea6\u8bc4\u4f30\uff0c\u4e13\u6709 AI \u6a21\u578b\uff0c\u5305\u542b\u8bc4\u4f30\u8be6\u60c5 \u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/exam-question-similarity

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/education/exam-question-similarity

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: POST

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/education/exam-question-similarity

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/exam-question-similarity

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/education/exam-question-similarity/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
exam1string\u662f\u7b2c\u4e00\u4e2a\u8003\u8bd5\u9898\u76ee\u6216\u6bb5\u843d\u7684\u6587\u672c
exam2string\u662f\u7b2c\u4e8c\u4e2a\u8003\u8bd5\u9898\u76ee\u6216\u6bb5\u843d\u7684\u6587\u672c\uff0c\u7528\u4e8e\u4e0e\u7b2c\u4e00\u4e2a\u8fdb\u884c\u76f8\u4f3c\u5ea6\u6bd4\u8f83

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
Data.scorenumber\u4e24\u4e2a\u8003\u8bd5\u9898\u76ee\u6216\u6bb5\u843d\u4e4b\u95f4\u7684\u76f8\u4f3c\u5ea6\u5206\u6570\uff0c\u8303\u56f4\u4e3a 0 - 10 \uff0c\u7cbe\u5ea6\u4e3a\u5c0f\u6570\u70b9\u540e\u4e24\u4f4d\uff0c\u5982 0.85 \uff0c10 \u4e3a\u5b8c\u5168\u76f8\u540c
Data.analysis_resultstring\u76f8\u4f3c\u5ea6\u5206\u6790\u7ed3\u679c\u63cf\u8ff0
" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/1054878", "title": "\u5386\u5e74\u9ad8\u6821\u62db\u751f\u8ba1\u5212\u6570\u636e API \u6570\u636e\u63a5\u53e3", "id": "t/1054878", "date_published": "2024-07-04T08:57:20+00:00", "content_html": "

\u5386\u5e74\u9ad8\u6821\u62db\u751f\u8ba1\u5212\u6570\u636e API \u6570\u636e\u63a5\u53e3

\n

\u57fa\u7840\u6570\u636e / \u9ad8\u6821\u62db\u751f\uff0c\u5404\u9ad8\u6821\u5386\u5e74\u62db\u751f\u8ba1\u5212\u6570\u636e\uff0c\u9ad8\u6821\u62db\u751f\u6570\u636e / \u5386\u5e74\u8ba1\u5212\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/collegeenrollmentplan

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/metadata/college-enrollment-plan

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/metadata/college-enrollment-plan?appkey={{YOUR_APPKEY}}&collegemajorname={{}}&year={{}}&pageIndex={{1}}&pageSize={{10}}&schoolname={{}}&provincename={{}}&classOne={{}}&classtwo={{}}&batchname={{}}&type={{}}

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/collegeenrollmentplan

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/metadata/college-enrollment-plan/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
collegemajornamestring\u5426\u67e5\u8be2\u7684\u9ad8\u6821\u4e13\u4e1a\u540d\u79f0\uff0c\u652f\u6301\u6a21\u7cca\u67e5\u8be2
yearint\u5426\u67e5\u8be2\u7684\u62db\u751f\u5e74\u4efd\uff0c\u5982 2020 \u30012021 \u30012022 \u30012023 \u3002\u53c2\u6570\u9ed8\u8ba4\u503c\u4e3a 0\uff1a\u5373\u83b7\u53d6\u6240\u6709\u5e74\u4efd\u7684\u62db\u751f\u8ba1\u5212\u6570\u636e
pageindexint\u662f1\u5206\u9875\u53c2\u6570\uff0c\u7b2c\u51e0\u9875
pagesizeint\u662f10\u5206\u9875\u53c2\u6570\uff0c\u6bcf\u9875\u603b\u6761\u6570\uff0c\u53d6\u503c\u8303\u56f4\u5728 10 ~ 100 \u4e4b\u95f4\uff08\u542b\uff09
schoolnamestring\u5426\u67e5\u8be2\u7684\u9ad8\u6821\u540d\u79f0\uff0c\u652f\u6301\u6a21\u7cca\u67e5\u8be2
provincenamestring\u5426\u67e5\u8be2\u7684\u62db\u751f\u7701\u4efd
classonestring\u5426\u67e5\u8be2\u7684\u4e13\u4e1a\u5927\u7c7b
classtwostring\u5426\u67e5\u8be2\u7684\u4e13\u4e1a\u5c0f\u7c7b
batchnamestring\u5426\u5f55\u53d6\u6279\u6b21\u53c2\u6570\uff0c\u53ef\u9009\u679a\u4e3e\u503c\u8bf7\u53c2\u8003 Data.AdmissionBatch \u8fd4\u56de\u503c\u679a\u4e3e
typestring\u5426\u4f20\u9012\u7684\u53c2\u6570\u503c\u53ef\u9009\u4e3a\uff1a\u7406\u79d1|\u6587\u79d1|\u7efc\u5408|\u827a\u672f\u7c7b|\u4f53\u80b2\u7c7b|\u4f53\u80b2\u7406|\u8499\u6388\u7406\u79d1|\u827a\u672f\u6587|\u4f53\u80b2\u6587|\u6c49\u6388\u7f8e\u672f|\u8499\u6388\u6587\u79d1|\u5b66\u8003\u6587|\u5b66\u8003\u7406|\u827a\u672f\u7406|\u6c49\u6388\u97f3\u4e50|\u6c49\u6388\u4f53\u80b2|\u5176\u4ed6\u827a\u672f|\u6c49\u6388\u7f16\u5bfc|\u8499\u6388\u97f3\u4e50|\u8499\u6388\u4f53\u80b2|\u8499\u6388\u7f8e\u672f|\u65c5\u6e38\u7c7b|\u8ba1\u7b97\u673a\u7c7b|3+\u8bc1\u4e66|\u8499\u6388\u5176\u4ed6\u827a\u672f|\u519c\u5b66\u7c7b|\u8d22\u4f1a\u7c7b|\u7267\u533b\u7c7b|\u8499\u7267\u533b\u7c7b|\u7f8e\u5de5\u8bbe\u8ba1\u7c7b|\u6c7d\u9a7e\u7c7b|\u5e7c\u5e08\u7c7b|\u5efa\u7b51\u7c7b|\u70f9\u996a\u7c7b

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.InSchoolYearsstring\u5b66\u5236\u5e74\u9650
Data.ClassOnestring\u4e13\u4e1a\u5927\u7c7b
Data.ClassTwostring\u4e13\u4e1a\u5c0f\u7c7b
Data.BatchNamestring\u5f55\u53d6\u6279\u6b21
Data.Typestring\u6587\u7406\u7efc\u5408\u7c7b\u522b
Data.SchoolNamestring\u9ad8\u6821\u540d\u79f0
Data.EnrollmentNumbersint\u62db\u751f\u4eba\u6570
Data.SchoolUUIDstring\u5495\u5495\u6570\u636e\u5e73\u53f0\u9ad8\u6821\u552f\u4e00 ID
Data.CourseSelectionRequirementsstring\u9009\u79d1\u8981\u6c42
Data.CollegeMajorNamestring\u9ad8\u6821\u4e13\u4e1a\u540d\u79f0
Data.Yearint\u62db\u751f\u5e74\u4efd
Data.ProvinceNamestring\u62db\u751f\u7701\u4efd
" }, { "author": { "url": "member/lostsquirrelX", "name": "lostsquirrelX", "avatar": "https://cdn.v2ex.com/gravatar/a30034158cd8cf67f2c321f05f96b60d?s=73&d=retro" }, "url": "t/1023354", "title": "\u641e\u4e86\u4e00\u4e2a\u8fd4\u56de\u540d\u8a00\u8b66\u53e5\u7684 API", "id": "t/1023354", "date_published": "2024-03-13T10:15:03+00:00", "content_html": "\n" }, { "author": { "url": "member/coolair", "name": "coolair", "avatar": "https://cdn.v2ex.com/avatar/c4fe/52ac/36118_large.png?m=1691894552" }, "url": "t/1003348", "date_modified": "2023-12-26T00:08:34+00:00", "content_html": "\u6211\u7528\u7684 DRF \u3002

\u5728\u8bbe\u8ba1\u65f6\uff0c\u6bd4\u5982\uff1a http://localhost/tasks

\u5982\u679c\u60f3\u8981\u4e00\u4e2a\u83b7\u53d6\u7528\u6237 tasks \u7684\u63a5\u53e3\uff1a
\u5f53\u524d\u7528\u6237\uff1a http://localhost/users/me/tasks
\u5176\u4ed6\u7528\u6237\uff1a http://localhost/users/{id}/tasks

\u5982\u679c\u628a\u8fd9\u4e2a\u63a5\u53e3\u653e\u5728 user view \u91cc\u9762\u5b9e\u73b0\uff0c\u5c31\u65e0\u6cd5\u590d\u7528 task view \u91cc\u9762\u7684 filter \uff0c\u5982\u679c\u653e\u5728 task view \u91cc\u9762\u5b9e\u73b0\uff0c\u91cd\u5199 url path \uff0c\u611f\u89c9 url \u4e0d\u4e00\u81f4\uff0c\u5bb9\u6613\u9020\u6210\u8bef\u89e3\u3002", "date_published": "2023-12-25T11:59:13+00:00", "title": "\u5173\u4e8e API \u8bbe\u8ba1\u95ee\u9898\uff0c\u8bf7\u5927\u5bb6\u6307\u70b9\u6307\u70b9", "id": "t/1003348" }, { "author": { "url": "member/clacf1", "name": "clacf1", "avatar": "https://cdn.v2ex.com/gravatar/b6808ae1bc9be74a53d9f6719c5122c2?s=73&d=retro" }, "url": "t/1001995", "date_modified": "2023-12-21T02:06:03+00:00", "content_html": "", "date_published": "2023-12-20T07:56:27+00:00", "title": "\u6211\u4eec\u5728\u505a\u4e00\u4e2a\u544a\u8b66\u7cfb\u7edf\uff0c \u60f3\u628a\u4e25\u91cd\u7684\u544a\u8b66\u901a\u8fc7\u7535\u8bdd\u544a\u51fa\u6765\uff0c\u8bf7\u95ee\u6709\u6728\u6709\u76f8\u5173\u7684 API \u5417\uff1f\u8d39\u7528\u4fbf\u5b9c\u70b9\u7684", "id": "t/1001995" }, { "author": { "url": "member/qinjiang", "name": "qinjiang", "avatar": "https://cdn.v2ex.com/gravatar/8ea5bd643af752cd040bf53061152a58?s=73&d=retro" }, "url": "t/997530", "date_modified": "2023-12-04T11:29:51+00:00", "content_html": "\u60f3\u4f7f\u7528\u4ed8\u8d39 api \u5c06 ppt,word \u7b49\u6587\u4ef6\u8f6c\u4e3a\u56fe\u7247\u3002

\u76ee\u524d\u4f7f\u7528\u767e\u5ea6\u7684\u8f6c\u7801\u901f\u5ea6\u5f88\u6162\uff0c2mb \u8981 3 \u5206\u949f\u3002
\u7f51\u6613\u4e91\u4fe1\u8f6c\u7801\u901f\u5ea6\u5feb\uff0c\u4e00\u5206\u949f\uff0c\u4f46\u662f\u8981 1000 \u5143/\u6708\u7684\u6708\u79df\u8d39+\u8f6c\u7801\u8d39\u7528

\u6216\u8005\u6709\u4ec0\u4e48\u601d\u8def\u53ef\u4ee5\u8fd0\u884c\u65f6\u8f83\u5feb\u5b9e\u73b0\u8f6c\u7801\u529f\u80fd", "date_published": "2023-12-04T08:17:28+00:00", "title": "\u6c42\u7ec4\uff0c\u60f3\u627e\u4e00\u4e2a\u6587\u6863\u8f6c\u56fe\u7247\u7684\u4ed8\u8d39 api", "id": "t/997530" }, { "author": { "url": "member/joyanhui", "name": "joyanhui", "avatar": "https://cdn.v2ex.com/gravatar/7b99ebbc66f778639ccbfba19ea4ed66?s=73&d=retro" }, "url": "t/996719", "date_modified": "2023-12-03T10:05:15+00:00", "content_html": "

\u4f8b\u5982\uff1a\napp \u542f\u52a8\u7684\u65f6\u5019\uff0c\u5148\u7528 app \u6307\u7eb9\u548c app \u7684\u516c\u7f51 ip \u62ff\u5230 jwt \u518d\u53bb\u8bf7\u6c42\u767b\u9646/\u6ce8\u518c\u63a5\u53e3\u3002

\n

\u4f46\u662f \u8fd9\u65f6\u5206\u53d1 jwt \u7684\u63a5\u53e3\u3002\u600e\u4e48\u907f\u514d\u4e00\u76f4\u88ab\u641e\uff1f

\n

\u60f3\u628a\u5f02\u5e38\u8bf7\u6c42\u76f4\u63a5\u62e6\u622a\u5230\u5916\u9762\uff0c\u5c3d\u91cf\u4e0d\u8ba9\u5f02\u5e38\u8bf7\u6c42\u843d\u5730\u5230\u670d\u52a1\u5668\u4e0a\u3002

\n

\u76ee\u524d\u662f\u5957\u4e86\u817e\u8baf\u4e91\u7684 cdn \u5f53\u53cd\u4ee3\u7528,\u4e0d\u7f13\u5b58\u6bcf\u6b21\u90fd\u56de\u6e90\u3002cdn \u4e0a\u9650\u5236\u7684\u5355 ip qps \uff08\u963f\u91cc\u4e91\u90a3\u8fb9\u597d\u50cf\u53ea\u80fd\u7528 WAF \u6709\u70b9\u590d\u6742..\uff09\uff0c\u8fd8\u6709\u522b\u7684\u529e\u6cd5\u4e0d\uff1f

\n

\u5df2\u767b\u9646\u7528\u6237 \u7684\u63a5\u53e3\u8d70\u4e86\u963f\u91cc\u4e91\u7684\u51fd\u6570\u8ba1\u7b97\uff0c\u7528\u7684\u51fd\u6570\u8ba1\u7b97\u7684 jwt \u8ba4\u8bc1\u3002\n\u5f02\u5e38\u8bf7\u6c42\uff0c\u76f4\u63a5\u5728 redis \u5efa\u4e86\u4e00\u4e2a\u9ed1\u540d\u5355\uff0c\u518d\u901a\u77e5 jwt \u5206\u53d1\u63a5\u53e3\u7981\u6b62\u65b0\u53d1\uff0c\u7b49 jwt \u5931\u6548\u5c31\u5676\u6389\u3002

\n", "date_published": "2023-12-01T01:50:16+00:00", "title": "\u8bf7\u6559\uff0c\u672a\u767b\u9646\u7528\u6237\u7684 api \u600e\u4e48\u9632\u62a4\u6bd4\u8f83\u5408\u9002\uff1f", "id": "t/996719" }, { "author": { "url": "member/pipixiarwksb", "name": "pipixiarwksb", "avatar": "https://cdn.v2ex.com/gravatar/a86780a5f897d231b3f66dbae99483e4?s=73&d=retro" }, "url": "t/994528", "date_modified": "2023-11-24T00:17:56+00:00", "content_html": "

\u6216\u8005\u4ed8\u8d39\u7684\u4e5f\u53ef\u4ee5\n\u8981\u6c42:\u8981\u6c42\u8d28\u91cf\u9ad8\uff0c\u54cd\u5e94\u5feb\uff0c\u5e76\u53d1\u9ad8\n\u8c22\u8c22\u5404\u4f4d\u8001\u54e5

\n", "date_published": "2023-11-23T06:58:52+00:00", "title": "\u6709\u6ca1\u6709\u514d\u8d39\u7ffb\u8bd1\u7684 api\uff0c\u8f93\u5165\u6587\u672c\u76f4\u63a5\u7ffb\u8bd1\u6210\u4e2d\u6587", "id": "t/994528" }, { "author": { "url": "member/braveMan", "name": "braveMan", "avatar": "https://cdn.v2ex.com/gravatar/3c6a092079e2711e06276e734910b492?s=73&d=retro" }, "url": "t/992416", "date_modified": "2023-11-17T00:04:25+00:00", "content_html": "\u4e3b\u8981\u662f\u60f3\u83b7\u53d6\u5355\u8bcd\u7684\u97f3\u6807

\u6216\u8005\u514d\u8d39\u7684\u4e00\u4e9b\u5b57\u5178\u5f00\u6e90\u5e93\u4e5f\u53ef\u4ee5", "date_published": "2023-11-16T04:04:39+00:00", "title": "\u6709\u4ec0\u4e48\u597d\u7528\u7684\u82f1\u8bed\u8bcd\u5178\u7684 api \u5417\uff1f \u5c31\u662f\u8f93\u5165\u82f1\u6587\u5355\u8bcd\u53ef\u4ee5\u67e5\u51fa\u5b83\u7684\u97f3\u6807?", "id": "t/992416" }, { "author": { "url": "member/Dogod37", "name": "Dogod37", "avatar": "https://cdn.v2ex.com/gravatar/ac02763ab43c3b80878aa0417ebcbd86?s=73&d=retro" }, "url": "t/989360", "date_modified": "2023-11-08T00:19:23+00:00", "content_html": "

\u6700\u8fd1\u770b\u5230\u9192\u56fe/\u7f8e\u56fe\u79c0\u79c0\u7684\u62fc\u56fe\u529f\u80fd\uff0c\u628a\u4e0a\u4f20\u7684 n \u4e2a\u7167\u7247\uff0c\u585e\u5230\u4e00\u4e2a\u6a21\u677f\u4e2d\uff0c\u751f\u6210\u4e00\u4e2a\u50cf\u6d77\u62a5\u4e00\u6837\u7684\u56fe\u7247\u3002\u8fd9\u79cd\u5927\u5bb6\u6709\u4e86\u89e3\u6210\u719f\u7684 api \u6216\u8005\u5e94\u7528\u5417\uff1f

\n", "date_published": "2023-11-07T01:44:32+00:00", "title": "\u6709\u6ca1\u6709\u9192\u56fe\u6216\u8005\u7f8e\u56fe\u79c0\u79c0\u62fc\u56fe\u529f\u80fd\u7c7b\u4f3c\u7684 API", "id": "t/989360" }, { "author": { "url": "member/yiwangersanli", "name": "yiwangersanli", "avatar": "https://cdn.v2ex.com/gravatar/46bb3b6fbb2a04b5fb7b9c402e248cd8?s=73&d=retro" }, "url": "t/988950", "date_modified": "2023-11-06T11:23:40+00:00", "content_html": "

\u6709\u6ca1\u6709\u505a\u8fc7\u82f1\u8bed\u5b66\u4e60\u7c7b\u4ea7\u54c1\u7684\u5927\u795e\uff1f\u6211\u60f3\u505a\u4e00\u4e2a\u7ffb\u8bd1\u68c0\u67e5\u548c\u6253\u5206\u7684\u529f\u80fd\uff0c\u62ff\u5230\u7528\u6237\u57fa\u4e8e\u82f1\u6587\u7684\u6c49\u8bed\u7ffb\u8bd1\u4e4b\u540e\u7ed9\u7528\u6237\u6253\u4e2a\u5206\u3002\u76ee\u524d\u6709\u76f8\u5173\u7684 api \u53ef\u4ee5\u5b9e\u73b0\u8fd9\u4e2a\u529f\u80fd\u5417\uff1f

\n", "date_published": "2023-11-06T01:55:07+00:00", "title": "\u6709\u6ca1\u6709 api \u53ef\u4ee5\u7ed9\u7528\u6237\u7684\u82f1\u8bd1\u6c49\u7ed3\u679c\u6253\u5206\uff1f", "id": "t/988950" }, { "author": { "url": "member/sinecw", "name": "sinecw", "avatar": "https://cdn.v2ex.com/avatar/c3ce/7e59/480927_large.png?m=1589078930" }, "url": "t/988212", "date_modified": "2023-11-07T11:13:41+00:00", "content_html": "

\u60f3\u642d\u5efa\u4e00\u4e2a\u9ad8\u53ef\u7528\u7684 chatgpt \u670d\u52a1\uff0c\u76ee\u524d\u6709\u4e09\u53f0\u670d\u52a1\u5668\uff0c\u5982\u4f55\u8bbe\u8ba1\u5206\u6d41\u548c\u590d\u6742\u5747\u8861\u5462\uff1f\u6c42\u5927\u795e\u70b9\u9192

\n", "date_published": "2023-11-03T03:56:53+00:00", "title": "\u8bbe\u8ba1\u9ad8\u53ef\u7528\u7684 api \u670d\u52a1", "id": "t/988212" }, { "author": { "url": "member/WOSHILIDAYE", "name": "WOSHILIDAYE", "avatar": "https://cdn.v2ex.com/avatar/7886/682b/594540_large.png?m=1698636162" }, "url": "t/986636", "date_modified": "2023-10-30T11:00:07+00:00", "content_html": "\u5c31\u7528\u4e8e\u5546\u57ce\u7684\u9a8c\u8bc1\u7801\u77ed\u4fe1\u548c\u8ba2\u5355\u901a\u77e5\uff0c\u5c31\u662f\u4e0d\u60f3\u5b9e\u540d\uff0c\u4ef7\u683c\u4e0d\u662f\u5f88\u6311\u5254\uff0c\u611f\u8c22", "date_published": "2023-10-30T03:24:25+00:00", "title": "\u6c42\u63a8\u8350\u4e00\u4e2a\u77ed\u4fe1 api \u5e73\u53f0", "id": "t/986636" }, { "author": { "url": "member/luchenwei9266", "name": "luchenwei9266", "avatar": "https://cdn.v2ex.com/avatar/9be2/6e84/371352_large.png?m=1740622971" }, "url": "t/986181", "title": "\u5404\u4f4d\u5927\u4f6c\u4eec\uff0c\u6709\u8c01\u77e5\u9053\u54ea\u4e2a\u7f51\u7ad9\u53ef\u4ee5\u67e5\u822a\u73ed\u548c\u706b\u8f66\u7684 API\uff1f", "id": "t/986181", "date_published": "2023-10-28T00:29:04+00:00", "content_html": "

\u627e\u4e86\u4e00\u5708\u6ca1\u627e\u5230\u9002\u5408\u4e2a\u4eba\u5f00\u53d1\u8005\u7684\u3002\u3002

\n

\u5404\u4f4d\u5927\u4f6c\u4eec\uff0c\u8981\u662f\u6709\u77e5\u9053\u63d0\u4f9b API \u7f51\u7ad9\u7684\u9ebb\u70e6\u544a\u77e5\u4e00\u4e0b\u5c0f\u5f1f\uff0c\u4ed8\u8d39\u548c\u514d\u8d39\u7684\u90fd\u884c\uff0c\u8c22\u8c22\u5927\u4f6c\u4eec\u4e86\u3002\u3002\u3002

\n" }, { "author": { "url": "member/xu98", "name": "xu98", "avatar": "https://cdn.v2ex.com/gravatar/060a5ce014f47962c58842691a1a1543?s=73&d=retro" }, "url": "t/986080", "date_modified": "2023-10-28T00:41:33+00:00", "content_html": "\u7528\u8fc7\u76f8\u5173\u7684\uff0c\u89c9\u5f97\u597d\u7528\u7684\uff0c \u4ef7\u683c\u6bd4\u8f83\u5b9e\u60e0\u7684\uff0c\u611f\u8c22~", "date_published": "2023-10-27T09:02:48+00:00", "title": "\u6c42\u52a9\u4e00\u4e0b\u54ea\u91cc\u6709\u8239\u8236\u4fe1\u606f\u7684 API", "id": "t/986080" }, { "author": { "url": "member/Xxxzy", "name": "Xxxzy", "avatar": "https://cdn.v2ex.com/gravatar/f098d9290167f36ba08bf7d33054f248?s=73&d=retro" }, "url": "t/965930", "title": "\u60f3\u4e86\u89e3 \u5982\u4f55\u63a5\u5165\u4e00\u4e2a\u5e94\u7528 \u5f53\u8fd9\u4e2a\u5e94\u7528\u53d1\u51fa\u901a\u77e5\u65f6 \u53ef\u4ee5\u81ea\u52a8\u5316\u64cd\u4f5c\u63d0\u524d\u8bbe\u7f6e\u597d\u7684\u6307\u4ee4 \u7c7b\u4f3c\u8df3\u8f6c\u7136\u540e\u4e0b\u5355\u6216\u8005\u7c7b\u4f3c\u5927\u9ea6\u62a2\u7968\u811a\u672c", "id": "t/965930", "date_published": "2023-08-16T16:09:30+00:00", "content_html": "" }, { "author": { "url": "member/Xxxzy", "name": "Xxxzy", "avatar": "https://cdn.v2ex.com/gravatar/f098d9290167f36ba08bf7d33054f248?s=73&d=retro" }, "url": "t/965265", "title": "\u5708\u5916\u4eba \u60f3\u4e86\u89e3\u80fd\u5426\u505a\u4e00\u4e2a\u5916\u63a5\u7a0b\u5e8f \u81ea\u52a8\u5bf9\u67d0 app \u5e94\u7528\u8fdb\u884c\u81ea\u52a8\u5316\u53cd\u5e94\u64cd\u4f5c", "id": "t/965265", "date_published": "2023-08-14T13:23:00+00:00", "content_html": "" }, { "author": { "url": "member/pengdirect", "name": "pengdirect", "avatar": "https://cdn.v2ex.com/avatar/0a91/74c1/448588_large.png?m=1685856247" }, "url": "t/955171", "title": "DeepL API \u600e\u4e48\u7528\uff1f", "id": "t/955171", "date_published": "2023-07-08T14:05:19+00:00", "content_html": "

\u6700\u8fd1\u7528\u865a\u62df\u4fe1\u7528\u5361\u7533\u8bf7\u4e00\u4e2a DeeL \u7684 API \uff0c\u4f46\u662f\u4e0d\u77e5\u9053\u600e\u4e48\u4f7f\u7528\uff1f\u60f3\u5728\u684c\u9762\u7aef\u8fdb\u884c\u7ffb\u8bd1\uff0c\u8bf7\u95ee\u600e\u4e48\u4f7f\u7528\u554a\uff1f

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/947126", "title": "\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u4e13\u4e1a\u6570\u636e API \u63a5\u53e3", "id": "t/947126", "date_published": "2023-06-08T15:00:47+00:00", "content_html": "

\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u4e13\u4e1a\u6570\u636e API \u63a5\u53e3

\n

\u6b22\u8fce\u4f7f\u7528\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u4e13\u4e1a\u6570\u636e API \u63a5\u53e3\uff01\u6211\u4eec\u4e3a\u60a8\u63d0\u4f9b\u5168\u9762\u7684\u5927\u5b66\u4e13\u4e1a\u57fa\u7840\u6570\u636e\uff0c\u6301\u7eed\u66f4\u65b0\uff0c\u8986\u76d6\u5404\u7c7b\u4e13\u4e1a\u5c5e\u6027\u3002\u65e0\u8bba\u60a8\u662f\u6559\u80b2\u673a\u6784\u3001\u5b66\u672f\u7814\u7a76\u8005\u8fd8\u662f\u5f00\u53d1\u8005\uff0c\u6211\u4eec\u7684 API \u63a5\u53e3\u90fd\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

API \u8be6\u60c5\u5730\u5740

\n

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

\n

\u63a5\u53e3\u8bf7\u6c42\u5730\u5740

\n

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

\n

\u8fd4\u56de\u683c\u5f0f

\n

application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f

\n

GET

\n

\u8bf7\u6c42\u534f\u8bae

\n

HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b

\n

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

\n

\u63a5\u53e3\u6d4b\u8bd5

\n

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

\n

3. \u8bf7\u6c42\u53c2\u6570

\n

\u4ee5\u4e0b\u662f\u63a5\u53e3\u7684\u8bf7\u6c42\u53c2\u6570\u53ca\u5176\u8bf4\u660e\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
keywordsstring\u5426YOUR_VALUE\u641c\u7d22\u5173\u952e\u5b57\uff0c\u53ef\u4ee5\u6a21\u7cca\u5339\u914d\u4e13\u4e1a\u540d\u79f0\u3001\u5b66\u79d1\u3001\u4e13\u4e1a\u4ecb\u7ecd\u3001\u5f00\u8bbe\u8bfe\u7a0b\u3002\u53c2\u6570\u503c\u4e3a\u7a7a\u5219\u8fd4\u56de\u6240\u6709\u6570\u636e\u5206\u9875
pagesizeint\u542610\u6bcf\u9875\u6570\u636e\u91cf\uff0c\u6700\u5927\u503c\u4e3a 20
pageindexint\u54261\u9875\u7801\uff0c\u4ece 1 \u5f00\u59cb\u8ba1\u6570

4. \u8fd4\u56de\u53c2\u6570

\n

\u4ee5\u4e0b\u662f\u63a5\u53e3\u7684\u8fd4\u56de\u53c2\u6570\u53ca\u5176\u8bf4\u660e\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.EducationLevelstring\u5b66\u5386\u5c42\u6b21
Data.DisciplinaryCategorystring\u5b66\u79d1\u95e8\u7c7b
Data.DisciplinarySubCategorystring\u5b66\u79d1\u4e13\u4e1a\u7c7b
Data.MajorCodestring\u4e13\u4e1a\u4ee3\u7801
Data.MajorNamestring\u4e13\u4e1a\u540d\u79f0
Data.MajorIntroductionstring\u4e13\u4e1a\u4ecb\u7ecd
Data.Courses.CourseNamestring\u5f00\u8bbe\u8bfe\u7a0b\u540d\u79f0
Data.Courses.CourseDifficultystring\u5f00\u8bbe\u8bfe\u7a0b\u96be\u5ea6
Data.GraduateScalestring\u5168\u56fd\u666e\u901a\u9ad8\u6821\u6bd5\u4e1a\u751f\u89c4\u6a21\uff08\u6982\u7565\u6570\u636e\uff09
Data.MaleFemaleRatiostring\u7537\u5973\u6bd4\u4f8b\uff08\u6982\u7565\u6570\u636e\uff09
Data.RecommendSchoolsstring[]\u63a8\u8350\u9662\u6821\u5217\u8868
" }, { "author": { "url": "member/lyseky", "name": "lyseky", "avatar": "https://cdn.v2ex.com/avatar/8112/26ff/137660_large.png?m=1626067622" }, "url": "t/931841", "title": "\u6709\u6bd4\u8f83\u5168\u7684\u6dd8\u5ba2 api\uff0c\u7c7b\u4f3c\u4ec0\u4e48\u503c\u5f97\u4e70\u7684 api \u4e0d", "id": "t/931841", "date_published": "2023-04-12T02:57:33+00:00", "content_html": "" }, { "author": { "url": "member/mapleincode", "name": "mapleincode", "avatar": "https://cdn.v2ex.com/avatar/a190/1add/127994_large.png?m=1715148361" }, "url": "t/928394", "title": "\u6709\u9053 API \u6587\u672c\u9650\u9891\u4e86\u600e\u4e48\u529e\uff1f\u987a\u4fbf\u60f3\u8bf4\u6709\u9053\u7684\u5ba2\u670d\u6001\u5ea6\u771f\u7684\u6709\u70b9....", "id": "t/928394", "date_published": "2023-03-30T02:24:54+00:00", "content_html": "
\u6211\u60f3\u95ee\u4e0b\u6587\u672c\u7ffb\u8bd1 API \u9650\u9891\u6539\u4e86\u4e48\uff1f\u6211\u5728\u51e0\u79d2\u5185\u8c03\u7528\u4e03\u516b\u6b21\u5c31\u8fd4\u56de\u9519\u8bef\u4e86\uff1f\n\u53f6\u5b50 \u2728 \u2728 \u2728 09:58:27\n\u5b9e\u540d\u8ba4\u8bc1\n\u545c\u55b5 09:58:44\n\u597d\u5427\uff0c\u90fd\u6ca1\u63d0\u9192\u8bf4\u6ca1\u5b9e\u540d\u9650\u9891\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:01:46\n\u4f60\u4e00\u6ce8\u518c\u65f6\u5019\u4e0d\u5c31\u6709\u5b9e\u540d\u8ba4\u8bc1\u7684\u63d0\u793a\u561b\uff1f\n\u545c\u55b5 10:02:00\n\u6ca1\uff0c\u53ef\u80fd\u6211\u6ce8\u518c\u7684\u6bd4\u8f83\u65e9\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:02:27\n\u54e6 \u90a3\u5c31\u8ba4\u8bc1\u4e0b\u5427 \u4f60\u73b0\u5728\u767b\u5f55\u63a7\u5236\u53f0\u80af\u5b9a\u4f1a\u6709\u63d0\u793a\u7684\n\u545c\u55b5 10:02:30\n\u8fd8\u662f\u9650\u5236\u4e86\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:02:55\n\u8ba4\u8bc1\u5b8c\u6210\u4e4b\u540e \u8fd8\u9700\u8981\u9664\u4f53\u9a8c\u91d1\u4e4b\u5916\u6709\u4f59\u989d\u7684\u54c8\n\u545c\u55b5 10:03:05\n[\u8868\u60c5]\n\u545c\u55b5 10:03:15\n\u8981\u591a\u5c11\u4f59\u989d\n\u545c\u55b5 10:04:21\n\u4f59\u989d\u5145\u503c\u6709\u8981\u6c42\u4e48\uff1f\u6211\u770b\u4e00\u5206\u94b1\u8d77\u5145\uff1f\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:06:09\n\u4f60\u8981\u8ba9\u6211\u8bf4\u7684\u8bdd \u90a3\u80af\u5b9a\u662f\u591a\u591a\u76ca\u5584\u554a \u54c8\u54c8\u54c8\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:06:28\n\u6839\u636e\u4f60\u7684\u9700\u6c42\u554a \u4f60\u9700\u8981\u91cf\u6bd4\u8f83\u5927 \u53ef\u4ee5\u591a\u5145\u503c\u70b9 \u91cf\u5c11\u53ef\u4ee5\u5c11\u5145\u503c\u4e00\u4e9b\n\u545c\u55b5 10:06:51\n\u95ee\u9898\u662f\uff0c\u6211\u5145\u503c\u4e86\u4e00\u5206\u94b1\u4f9d\u7136\u6ca1\u89e3\u51b3\uff0c\u662f\u4e0d\u662f\u6709\u5145\u503c\u4f59\u989d\u8981\u6c42\uff1f\u80fd\u5e2e\u6211\u95ee\u4e0b\u4e48\uff1f\n\u545c\u55b5 10:07:06\n\" \u53f6\u5b50 \u2728 \u2728 \u2728 10:06:28\n\u6839\u636e\u4f60\u7684\u9700\u6c42\u554a \u4f60\u9700\u8981\u91cf\u6bd4\u8f83\u5927 \u53ef\u4ee5\u591a\u5145\u503c\u70b9 \u91cf\u5c11\u53ef\u4ee5\u5c11\u5145\u503c\u4e00\u4e9b \"\n@\u53f6\u5b50 \u2728 \u2728 \u2728 \u6211\u5b9e\u9645\u8fde\u4f53\u9a8c\u91d1\u90fd\u7528\u4e0d\u5b8c\n\u545c\u55b5 10:07:22\n\u4f46\u662f\u73b0\u5728\u8c03\u7528 api \u9891\u7387\u5b9e\u5728\u662f\u592a\u4f4e\u4e86\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:12:25\n\u4f60\u51b2\u4e86\u4e00\u5206\u94b1\u6ca1\u89e3\u51b3\u4f60\u8fd8\u53ef\u4ee5\u8bd5\u8bd5\u591a\u5145\u503c\u70b9\u554a\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:12:29\n\u8ba9\u6211\u95ee\u5565\n\u545c\u55b5 10:12:51\n\u2026..\u4f60\u8fd9\u8bdd\u6709\u70b9\u50cf\u65e0\u826f\u5978\u5546\u6709\u6ca1\u6709\n\u53f6\u5b50 \u2728 \u2728 \u2728 10:13:09\n\u5475\u5475 \u90a3\u5c31\u662f\u5427\n
\n

\u524d\u4e24\u5929\u8fd8\u548c\u670b\u53cb\u8bf4\u6709\u9053 API \u771f\u826f\u5fc3\uff0c\u9001\u7684\u94b1\u90fd\u7528\u4e0d\u5b8c\u3002\u5b9e\u9645\u4e0a\u6211\u76ee\u524d\u662f Alfred \u81ea\u7528\u3002\u6211\u4e0d\u4ecb\u610f\u5145\u503c 100 \uff0c\u867d\u7136\u53ef\u80fd\u8fd9\u8f88\u5b50\u90fd\u7528\u4e0d\u5b8c\u3002\u4f46\u662f\u6587\u6863\u6ca1\u8bf4\u660e\uff0c\u5ba2\u670d\u4e00\u526f\u62fd\u6b7b\u7684\u6001\u5ea6\uff0c\u6211\u662f\u89c9\u5f97\u7565\u5fae\u61f5\u903c\u3002

\n

\u6709\u89e3\u51b3\u8fc7\u8fd9\u4e2a\u95ee\u9898\u7684\u8001\u54e5\u4e48\uff1f\u544a\u8bc9\u6211\u5f97\u51b2\u591a\u5c11\uff1f

\n" }, { "author": { "url": "member/Authing", "name": "Authing", "avatar": "https://cdn.v2ex.com/avatar/b759/896b/570457_large.png?m=1683190646" }, "url": "t/926916", "title": "\u63d2\u4ef6\u5f00\u53d1\u7248\uff5c Authing \u7ed3\u5408 APISIX \u5b9e\u73b0\u7edf\u4e00\u53ef\u914d\u7f6e API \u6743\u9650\u7f51\u5173", "id": "t/926916", "date_published": "2023-03-24T09:22:46+00:00", "content_html": "

\u5f53\u5f00\u53d1\u8005\u5728\u6784\u5efa\u7f51\u7ad9\u3001\u79fb\u52a8\u8bbe\u5907\u6216\u7269\u8054\u7f51\u5e94\u7528\u7a0b\u5e8f\u65f6\uff0cAPI \u7f51\u5173\u4f5c\u4e3a\u5fae\u670d\u52a1\u67b6\u6784\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u63a7\u5236\u7ec4\u4ef6\uff0c\u662f\u6d41\u91cf\u7684\u6838\u5fc3\u8fdb\u51fa\u53e3\u3002\u901a\u8fc7\u6709\u6548\u7684\u6743\u9650\u7ba1\u63a7\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8ba4\u8bc1\u6388\u6743\u3001\u76d1\u63a7\u5206\u6790\u7b49\u529f\u80fd\uff0c\u63d0\u9ad8\u00a0API \u7684\u5b89\u5168\u6027\u3001\u53ef\u7528\u6027\u3001\u62d3\u5c55\u6027\u4ee5\u53ca\u4f18\u5316 API \u6027\u80fd\u3002\u4e4b\u524d\u6211\u4eec\u6f14\u793a\u4e86\u901a\u8fc7 Authing \u6743\u9650\u7ba1\u7406 + APISIX \u5b9e\u73b0 API \u7684\u8bbf\u95ee\u63a7\u5236\u6548\u679c\uff0c\u672c\u6587\u5c06\u6559\u4f60\u5982\u4f55\u5b9e\u73b0\u4e0a\u8ff0\u80fd\u529b\u7684\u5177\u4f53\u5b9e\u8df5\u65b9\u6cd5\u3002

\n

01 \u5173\u4e8e Authing

\n

Authing \u662f\u56fd\u5185\u9996\u6b3e\u4ee5\u5f00\u53d1\u8005\u4e3a\u4e2d\u5fc3\u7684\u5168\u573a\u666f\u8eab\u4efd\u4e91\u4ea7\u54c1\uff0c\u96c6\u6210\u4e86\u6240\u6709\u4e3b\u6d41\u8eab\u4efd\u8ba4\u8bc1\u534f\u8bae\uff0c\u4e3a\u4f01\u4e1a\u548c\u5f00\u53d1\u8005\u63d0\u4f9b\u5b8c\u5584\u5b89\u5168\u7684\u7528\u6237\u8ba4\u8bc1\u548c\u8bbf\u95ee\u7ba1\u7406\u670d\u52a1\u3002\u4ee5\u300c API First \u300d\u4f5c\u4e3a\u4ea7\u54c1\u57fa\u77f3\uff0c\u628a\u8eab\u4efd\u9886\u57df\u6240\u6709\u5e38\u7528\u529f\u80fd\u90fd\u8fdb\u884c\u4e86\u6a21\u5757\u5316\u7684\u5c01\u88c5\uff0c\u901a\u8fc7\u5168\u573a\u666f\u7f16\u7a0b\u8bed\u8a00 SDK \u5c06\u6240\u6709\u80fd\u529b API \u5316\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u3002\u540c\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u7075\u6d3b\u7684\u4f7f\u7528 Authing \u5f00\u653e\u7684 RESTful APIs \u8fdb\u884c\u529f\u80fd\u62d3\u5c55\uff0c\u6ee1\u8db3\u4e0d\u540c\u4f01\u4e1a\u4e0d\u540c\u4e1a\u52a1\u573a\u666f\u4e0b\u7684\u8eab\u4efd\u548c\u6743\u9650\u7ba1\u7406\u9700\u6c42\u3002

\n

02 \u5173\u4e8e APISIX

\n

Apache APISIX \u662f\u4e00\u4e2a\u52a8\u6001\u3001\u5b9e\u65f6\u3001\u9ad8\u6027\u80fd\u7684 API \u7f51\u5173\uff0c\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001\u52a8\u6001\u4e0a\u6e38\u3001\u7070\u5ea6\u53d1\u5e03\u3001\u670d\u52a1\u7194\u65ad\u3001\u8eab\u4efd\u8ba4\u8bc1\u3001\u53ef\u89c2\u6d4b\u6027\u7b49\u4e30\u5bcc\u7684\u6d41\u91cf\u7ba1\u7406\u529f\u80fd\u3002Apache APISIX \u4e0d\u4ec5\u652f\u6301\u63d2\u4ef6\u52a8\u6001\u53d8\u66f4\u548c\u70ed\u63d2\u62d4\uff0c\u800c\u4e14\u62e5\u6709\u4f17\u591a\u5b9e\u7528\u7684\u63d2\u4ef6\u3002Apache APISIX \u7684 OpenID Connect \u63d2\u4ef6\u652f\u6301 OpenID Connect \u534f\u8bae\uff0c\u7528\u6237\u53ef\u4ee5\u4f7f\u7528\u8be5\u63d2\u4ef6\u8ba9 Apache APISIX \u5bf9\u63a5 Authing \u670d\u52a1\uff0c\u4f5c\u4e3a\u96c6\u4e2d\u5f0f\u8ba4\u8bc1\u7f51\u5173\u90e8\u7f72\u4e8e\u4f01\u4e1a\u4e2d\u3002

\n

03 \u4e1a\u52a1\u76ee\u6807

\n

\u901a\u8fc7 Authing \u6743\u9650\u7ba1\u7406 + APISIX \u5b9e\u73b0 API \u7684\u8bbf\u95ee\u63a7\u5236

\n

04 \u5982\u4f55\u5b9e\u73b0

\n

\u672c\u6587\u6240\u6d89\u53ca\u5230\u7684\u4ee3\u7801\u5df2\u7ecf\u4e0a\u4f20\u5230 Github

\n

Python \u63d2\u4ef6\uff1a\nhttps://github.com/fehu-asia/authing-apisix-python-agent

\n

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

\n

Java \u63d2\u4ef6\uff1a\nhttps://github.com/fehu-asia/authing-apisix-java-agent

\n

4.1 \u4e1a\u52a1\u67b6\u6784

\n

\"\"

\n

\u7cfb\u7edf\u6574\u4f53\u5305\u542b\u4e86\u4e09\u5927\u90e8\u5206\uff1aAuthing \u670d\u52a1\u96c6\u7fa4\u3001Authing \u63d2\u4ef6\u9002\u914d\u670d\u52a1\u4ee5\u53ca APISIX \u7f51\u5173\uff0c\u672c\u65b9\u6848\u5efa\u7acb\u9700\u8981\u914d\u7f6e\u548c\u5f00\u53d1\u7684\u90e8\u5206\u6709\u56db\u4e2a\u90e8\u5206\uff0cAuthing API \u6743\u9650\u7ed3\u6784\u914d\u7f6e\u3001APISIX \u63d2\u4ef6\u548c\u8def\u7531\u914d\u7f6e\u3001APISIX \u63d2\u4ef6\u5f00\u53d1\u90e8\u7f72\u4ee5\u53ca\u4e1a\u52a1\u9002\u914d\u670d\u52a1\u5f00\u53d1\uff0c\u5176\u4e2d\u4e1a\u52a1\u9002\u914d\u670d\u52a1\u5305\u542b\u4e86\u8ba4\u8bc1\u548c\u6388\u6743\u7684\u4e3b\u8981\u903b\u8f91(\u4f7f\u7528\u5355\u72ec\u670d\u52a1\u627f\u8f7d)\uff0c\u907f\u514d\u4e86\u63d2\u4ef6\u7684\u9891\u7e41\u66f4\u65b0\u548c\u90e8\u7f72\u3002

\n

\u8fd9\u91cc\u9700\u8981\u8bf4\u660e\u7684\u662f\uff0c\u4e4b\u6240\u4ee5\u91c7\u7528 Adapter \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\uff0c\u662f\u56e0\u4e3a\u63d2\u4ef6\u6211\u4eec\u5e76\u4e0d\u5e0c\u671b\u7ecf\u5e38\u53d8\u52a8\uff0c\u4f46\u9700\u6c42\u53ef\u80fd\u662f\u65e0\u6cd5\u907f\u514d\u7684\u9700\u8981\u7ecf\u5e38\u53d8\u52a8\uff0c\u6240\u4ee5\u6211\u4eec\u5c06\u5177\u4f53\u7684\u9274\u6743\u903b\u8f91\u653e\u5728 Adapter \uff0c\u63d2\u4ef6\u53ea\u5b9e\u73b0\u8bf7\u6c42\u8f6c\u53d1\u548c\u6839\u636e Adapter \u7684\u8fd4\u56de\u7ed3\u679c\u51b3\u5b9a\u662f\u5426\u653e\u884c\uff0c\u540c\u65f6\u65e0\u72b6\u6001\u7684\u63d2\u4ef6\u53ef\u4ee5\u8ba9\u6211\u4eec\u5b9e\u73b0\u66f4\u591a\u7684\u573a\u666f\u590d\u7528\u548c\u80fd\u529b\u6269\u5c55\uff0c\u4f8b\u5982\u8fdb\u884c\u9274\u6743\u7ed3\u679c\u7684\u7f13\u5b58\u5b9e\u73b0\uff0c\u540e\u7eed\u53ea\u9700\u7ef4\u62a4 Adapter \u5373\u53ef\u3002

\n

\u5f53\u7136\u6211\u4eec\u4e5f\u53ef\u5c06\u5177\u4f53\u7684\u903b\u8f91\u653e\u5728\u63d2\u4ef6\u91cc\u3002

\n

\u6ce8\u610f\uff0c\u672c\u6559\u7a0b\u53ea\u7528\u4e8e\u4e0e APISIX \u548c Authing \u8fdb\u884c\u96c6\u6210\uff0c\u5bf9\u4e8e\u751f\u4ea7\u73af\u5883\u4f7f\u7528\uff0c\u60a8\u9700\u8981\u81ea\u884c\u5f00\u53d1\u63d2\u4ef6\u5e76\u4fdd\u8bc1\u5176\u5b89\u5168\u6027\u53ca\u53ef\u7528\u6027\u7b49\uff0c\u672c\u6587\u6863\u4e0d\u627f\u8bfa\u6b64\u63d2\u4ef6\u53ef\u4ee5\u7528\u4e8e\u751f\u4ea7\u73af\u5883\u3002

\n\n
git clone https://github.com/apache/apisix-docker.git\ncd apisix-docker/example\ndocker-compose -p docker-apisix up -d\n
\n

\u5230\u8fd9\u91cc\u53ef\u4ee5\u4f7f\u7528 docker ps \u67e5\u770b apisix docker \u8fdb\u7a0b\u542f\u52a8\u72b6\u6001\uff0c \u968f\u540e\u8bbf\u95ee localhost:9000 \u53ef\u4ee5\u8fdb\u5165 dashboard \u754c\u9762\u8fdb\u884c\u8def\u7531\u548c\u63d2\u4ef6\u7684\u914d\u7f6e\u3002\n\"\"

\n

4.2 \u5728 Authing \u5bf9 API \u8fdb\u884c\u7ba1\u7406

\n

\u767b\u5f55 Authing \u5b98\u7f51\uff1awww.authing.com \uff0c\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

\n\n

\"\"

\n

\u914d\u7f6e Token \u7b7e\u540d\u7b97\u6cd5\u4e3a RS256 \u53ca\u6821\u9a8c AccessToken \u7684\u65b9\u5f0f\u4e3a none \u3002

\n

\"\"

\n\n

\u8fdb\u5165 Authing \u63a7\u5236\u53f0-\u7528\u6237\u7ba1\u7406-\u7528\u6237\u5217\u8868-\u70b9\u51fb\u521b\u5efa\u7528\u6237\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u65b9\u5f0f\uff08\u7528\u6237\u540d\u3001\u624b\u673a\u53f7\u3001\u90ae\u7bb1\uff09\u521b\u5efa\u6d4b\u8bd5\u7528\u6237\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n\n

\u8fdb\u5165 Authing \u63a7\u5236\u53f0-\u6743\u9650\u7ba1\u7406-\u521b\u5efa\u8d44\u6e90\uff0c\u53ef\u4ee5\u9009\u62e9\u521b\u5efa\u6811\u6570\u636e\u7c7b\u578b\u7684\u8d44\u6e90\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n\n

\u8fdb\u5165\u6743\u9650\u7ba1\u7406-\u6570\u636e\u8d44\u6e90\u6743\u9650-\u6570\u636e\u7b56\u7565\u6807\u7b7e\uff0c\u53ef\u4ee5\u70b9\u51fb\u521b\u5efa\u7b56\u7565\u6765\u65b0\u5efa\u6570\u636e\u8bbf\u95ee\u7b56\u7565\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002\u7b56\u7565\u5305\u542b\u4e86\u5bf9\u5e94\u7684\u6743\u9650\u7a7a\u95f4\u4e2d\u5b9a\u4e49\u7684\u6570\u636e\u4ee5\u53ca\u64cd\u4f5c\uff0c\u521b\u5efa\u540e\u80fd\u591f\u57fa\u4e8e\u6b64\u7b56\u7565\u5bf9\u4e0d\u540c\u5bf9\u8c61(\u7528\u6237\u3001\u89d2\u8272\u3001\u7528\u6237\u7ec4\u7b49)\u8fdb\u884c\u6388\u6743\u7ba1\u7406\u3002

\n

\"\"

\n\n

\"\"

\n

4.3 APISIX \u8def\u7531\u548c SOCK \u914d\u7f6e

\n

\"\"

\n\n

APISIX \u4f7f\u7528 unix sock \u4e0e\u63d2\u4ef6\u8fdb\u7a0b\u901a\u4fe1\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6e\u5bf9\u5e94\u7684 sock \u7aef\u53e3\uff1a

\n

\u9700\u8981\u5c06\u5bbf\u4e3b\u673a\u4e0a\u7684 sock \u6587\u4ef6\u6302\u8f7d\u5230\u5bb9\u5668\u91cc\uff0c\u63d2\u4ef6\u542f\u52a8\u7684\u65f6\u5019\u4f1a\u5728\u5bbf\u4e3b\u673a\u4e0a\u521b\u5efa\u8fd9\u4e2a sock \u6587\u4ef6\uff0c\u6b64\u5904\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u82e5 APISIX \u662f\u5148\u4e8e\u63d2\u4ef6\u542f\u52a8\u7684\uff0c\u5f53\u63d2\u4ef6\u542f\u52a8\u540e\uff0c\u5219\u9700\u8981\u91cd\u542f\u4e0b APISIX \u5bb9\u5668\uff0c\u786e\u4fdd\u63d2\u4ef6\u5148\u4e8e APISIX \u542f\u52a8\u3002

\n

\u6587\u4ef6\u4f4d\u7f6e\uff1a /apisix-docker/example/docker-compose.yml apisix \u90e8\u5206

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

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

\n

\"\"

\n
curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '\n{\n \"uri\": \"/*\",\n \"plugins\": {\n \"ext-plugin-pre-req\": {\n \"conf\": [\n {\n \"name\": \"authing_agent\",\n \"value\": \"{\\\"url\\\": \\\"{\u9002\u914d\u670d\u52a1\u7684\u8bbf\u95ee\u5730\u5740}\\\",\\\"user_pool_id\\\": \\\"{\u7528\u6237\u6c60 ID}\\\",\\\"user_pool_secret\\\": \\\"{\u7528\u6237\u6c60\u5bc6\u94a5}\\\"}\"\n }\n ]\n }\n },\n \"upstream\": {\n \"type\": \"roundrobin\",\n \"nodes\": {\n \"httpbin.org:80\": 1\n }\n }\n}'\n
\n

ext-plugin-pre-req \u662f\u9700\u8981\u542f\u7528\u7684\u63d2\u4ef6\u7c7b\u578b, \u5728\u914d\u7f6e conf \u4e2d\u9700\u8981\u786e\u5b9a\u4e24\u4e2a\u53d8\u91cf\uff1a

\n

\"name\": \u63d2\u4ef6\u540d\u79f0
\n\"value\": \"{\"url\": \"\u9002\u914d\u670d\u52a1\u7684\u8bbf\u95ee\u5730\u5740\",\"user_pool_id\": \"\u7528\u6237\u6c60 ID\",\"user_pool_secret\": \"\u7528\u6237\u6c60\u5bc6\u94a5\"}\"

\n

\u5176\u4e2d\uff0c\u8bbf\u95ee\u5730\u5740\u683c\u5f0f\u4e3a {{domain}}:{{port}}/{{path}}

\n

\u4f8b\u5982\uff1a\n\"{\"url\": \"http://192.168.1.123:8080/isAllow\",\"user_pool_id\": \"124u2353h2t24he2u349382u152\",\"user_pool_secret\": \"6435462313i5412njburh2u34\"}\"

\n

4.4 APISIX \u63d2\u4ef6\u5f00\u53d1\u548c\u90e8\u7f72

\n\n

git clone https://github.com/apache/apisix-python-plugin-runner.git\n\u8fdb\u5165\u76ee\u5f55 make setup\n\u8fdb\u5165\u76ee\u5f55 make install\n\u8fdb\u5165\u76ee\u5f55\u5e76\u4fee\u6539 apisix/plugins/rewrite.py \u6587\u4ef6\uff0c\u5c06\u8bf7\u6c42\u53c2\u6570\u4f20\u9012\u5230 Authing

\n\n

\u53ef\u4f7f\u7528\u5176\u4ed6\u8bed\u8a00\u5b9e\u73b0\u4f8b\u5982 Java \u3001Go \u3001Lua

\n

\u4e4b\u6240\u4ee5\u91c7\u7528 Python \u7684\u539f\u56e0\u662f\u56e0\u4e3a\u73af\u5883\u521d\u59cb\u5316\u6bd4\u8f83\u7b80\u5355\uff0c\u53ef\u4ee5\u8ba9\u5f00\u53d1\u8005\u5feb\u901f\u4e86\u89e3 APISIX \u7684\u63d2\u4ef6\u7684\u5f00\u53d1\u673a\u5236\u3002

\n

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

\n
from typing import Any\nfrom apisix.runner.http.request import Request\nfrom apisix.runner.http.response import Response\nfrom apisix.runner.plugin.core import PluginBase\nimport json\nimport requests\nimport json\n\ndef isAllow(request,config):\n return requests.request(\"POST\", \n config.get(\"url\"), \n headers={\n 'Content-Type': 'application/json'\n }, \n data=json.dumps({\n \"request\": request,\n \"pluginConfig\": config\n }))\n\n\n\nclass Rewrite(PluginBase):\n\n def name(self) -> str:\n return \"authing_agent\"\n\n def config(self, conf: Any) -> Any:\n return conf\n\n def filter(self, conf: Any, request: Request, response: Response):\n # \u7ec4\u88c5 Adapter \u8bf7\u6c42\u53c2\u6570\n authing_request = {\n \"uri\": request.get_uri(),\n \"method\": request.get_method(),\n \"args\":request.get_args(),\n \"headers\":request.get_headers(),\n \"request_id\":request.get_id(),\n \"host\":request.get_var(\"host\"),\n \"remote_addr\": request.get_remote_addr(),\n \"configs\": request.get_configs()\n }\n # \u63a5\u6536 Adapter \u54cd\u5e94\u5224\u65ad\u662f\u5426\u653e\u884c\n authing_respOnse= isAllow(authing_request,eval(conf))\n if authing_response.text != \"ok\":\n response.set_status_code(authing_response.status_code)\n response.set_body(authing_response.text) \n
\n\n
nohup make dev & #\u540e\u53f0\u8fd0\u884c agent \u7a0b\u5e8f\n
\n

4.5 \u9002\u914d\u5668\u5f00\u53d1

\n\n

\u542f\u52a8\u4ee3\u7406 Authing \u670d\u52a1\uff08\u81ea\u884c\u5b9e\u73b0\u5bf9\u5e94\u63a5\u53e3\uff0c\u4ee5 springboot \u4e3a\u4f8b\uff0c\u63a5\u53e3\u7ed3\u6784\u5982\u4e0b\uff09

\n

\"\"

\n\n

IsAllowController.java

\n
package cn.authing.apisix.adapter.controller;\n\nimport cn.authing.apisix.adapter.entity.APISIXRquestParams;\nimport cn.authing.sdk.java.client.ManagementClient;\nimport cn.authing.sdk.java.dto.CheckPermissionDto;\nimport cn.authing.sdk.java.dto.CheckPermissionRespDto;\nimport cn.authing.sdk.java.dto.CheckPermissionsRespDto;\nimport cn.authing.sdk.java.model.ManagementClientOptions;\nimport cn.hutool.http.HttpStatus;\nimport cn.hutool.http.HttpUtil;\nimport com.google.gson.Gson;\nimport com.nimbusds.jose.JOSEException;\nimport com.nimbusds.jose.JWSAlgorithm;\nimport com.nimbusds.jose.JWSObject;\nimport com.nimbusds.jose.jwk.source.JWKSource;\nimport com.nimbusds.jose.jwk.source.RemoteJWKSet;\nimport com.nimbusds.jose.proc.BadJOSEException;\nimport com.nimbusds.jose.proc.JWSKeySelector;\nimport com.nimbusds.jose.proc.JWSVerificationKeySelector;\nimport com.nimbusds.jose.proc.SecurityContext;\nimport com.nimbusds.jwt.JWTClaimsSet;\nimport com.nimbusds.jwt.proc.ConfigurableJWTProcessor;\nimport com.nimbusds.jwt.proc.DefaultJWTProcessor;\nimport jakarta.servlet.http.HttpServletResponse;\nimport lombok.extern.slf4j.Slf4j;\nimport org.springframework.util.StopWatch;\nimport org.springframework.util.StringUtils;\nimport org.springframework.web.bind.annotation.PostMapping;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RestController;\n\nimport java.net.MalformedURLException;\nimport java.net.URL;\nimport java.text.ParseException;\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * @author Gao FeiHu\n * @version 1.0.0\n * @date 2022.12.22\n * @email gaofeihu@authing.cn\n */\n@RestController\n@Slf4j\npublic class IsAllowController {\n\n /**\n * \u7528\u6237\u6c60 ID\n */\n public static String ACCESS_KEY_ID = \"\";\n /**\n * \u7528\u6237\u6c60\u5bc6\u94a5\n */\n public static String ACCESS_KEY_SECRET = \"\";\n /**\n * Authing SDK\n * See\n * https://docs.authing.cn/v3/reference/\n */\n ManagementClient managementClient;\n\n /**\n * \u521d\u59cb\u5316 ManagementClient\n *\n * @param ak \u7528\u6237\u6c60 ID\n * @param aks \u7528\u6237\u6c60\u5bc6\u94a5\n */\n public void init(String ak, String aks) {\n log.info(\"init ManagementClient ......\");\n try {\n // \u4fdd\u5b58\u7528\u6237\u6c60 ID \u548c\u5bc6\u94a5\n ACCESS_KEY_ID = ak;\n ACCESS_KEY_SECRET = aks;\n // \u521d\u59cb\u5316\n ManagementClientOptions optiOns= new ManagementClientOptions();\n options.setAccessKeyId(ak);\n options.setAccessKeySecret(aks);\n managementClient = new ManagementClient(options);\n } catch (Exception e) {\n e.printStackTrace();\n System.err.println(\"\u521d\u59cb\u5316 managementClient \u5931\u8d25\uff0c\u53ef\u80fd\u65e0\u6cd5\u8bf7\u6c42\uff01\");\n }\n }\n\n /**\n * \u662f\u5426\u653e\u884c\n *\n * @param apisixRquestParams \u8bf7\u6c42 body \uff0c\u5305\u542b\u4e86 APISIX \u63d2\u4ef6\u7684\u914d\u7f6e\u4ee5\u53ca\u8bf7\u6c42\u4e0a\u4e0b\u6587\n * @param response HttpServletResponse\n * @return 200 OK \u653e\u884c\n * 403 forbidden \u7981\u6b62\u8bbf\u95ee\n * 500 internal server error \u8bf7\u6c42\u9519\u8bef \u53ef\u6839\u636e\u5b9e\u9645\u9700\u6c42\u653e\u884c\u6216\u62d2\u7edd\n */\n @PostMapping(\"/isAllow\")\n public Object isAllow(@RequestBody APISIXRquestParams apisixRquestParams, HttpServletResponse response) {\n\n // \u8bf7\u6c42\u8ba1\u65f6\u5668\n StopWatch stopWatch = new StopWatch();\n stopWatch.start();\n\n // \u8bf7\u6c42 ID \u4e0e APISIX \u4e00\u81f4\n String requestID = apisixRquestParams.getRequest().getRequest_id();\n\n log.info(\"{} ==> \u8bf7\u6c42\u5165\u53c2 : {} \", requestID, new Gson().toJson(apisixRquestParams));\n\n try {\n // 0. \u82e5\u63d2\u4ef6\u4e3a\u591a\u5b9e\u4f8b\u7528\u4e8e\u5b9e\u73b0\u4e0d\u540c\u4e1a\u52a1\u903b\u8f91\uff0c\u6b64\u5904\u53ef\u5bf9\u5e94\u4fee\u6539\u4e3a\u591a\u5b9e\u4f8b\u6a21\u5f0f\n if (managementClient == null || !ACCESS_KEY_ID.equals(apisixRquestParams.getPluginConfig().get(\"user_pool_id\"))) {\n init((String) apisixRquestParams.getPluginConfig().get(\"user_pool_id\"), (String) apisixRquestParams.getPluginConfig().get(\"user_pool_secret\"));\n }\n\n // 1. \u62ff\u5230 accessToken\n String authorization = (String) apisixRquestParams.getRequest().getHeaders().get(\"authorization\");\n if (!StringUtils.hasLength(authorization)) {\n return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, \"HTTP_UNAUTHORIZED\");\n }\n\n String accessToken = authorization;\n if (authorization.startsWith(\"Bearer\")) {\n accessToken = authorization.split(\" \")[1].trim();\n }\n\n\n log.info(\"{} ==> accessToken : {} \", requestID, accessToken);\n // 2. \u89e3\u6790 accessToken \u62ff\u5230\u5e94\u7528 ID \u548c\u7528\u6237 ID\n JWSObject parse = JWSObject.parse(accessToken);\n Map<String, Object> payload = parse.getPayload().toJSONObject();\n String aud = (String) payload.get(\"aud\");\n String sub = (String) payload.get(\"sub\");\n\n // 3. \u6821\u9a8c accessToken\n // \u5728\u7ebf\u6821\u9a8c\n String result = onlineValidatorAccessToken(accessToken, aud);\n log.info(\"{} ==> accessToken \u5728\u7ebf\u7ed3\u679c : {} \", requestID, result);\n if (!result.contains(\"{\\\"active\\\":true\")) {\n return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, \"HTTP_UNAUTHORIZED\");\n }\n\n// // \u79bb\u7ebf\u6821\u9a8c\n// if (null == offlineValidatorAccessToken(accessToken, aud)) {\n// return result(response, stopWatch, requestID, HttpStatus.HTTP_UNAUTHORIZED, \"HTTP_UNAUTHORIZED\");\n// }\n\n // 4. \u83b7\u53d6\u5230 APISIX \u4e2d\u7684\u8bf7\u6c42\u65b9\u6cd5\uff0c\u5bf9\u5e94 Authing \u6743\u9650\u4e2d\u7684 action\n String action = apisixRquestParams.getRequest().getMethod();\n\n // 5. \u83b7\u53d6\u5230 APISIX \u4e2d\u7684\u8bf7\u6c42\u8def\u5f84\n String resource = apisixRquestParams.getRequest().getUri();\n\n // 6. \u53bb Authing \u8bf7\u6c42\uff0c\u5224\u65ad\u662f\u5426\u6709\u6743\u9650\n // TODO \u53ef\u5728\u6b64\u6dfb\u52a0 Redis \u5bf9\u6821\u9a8c\u7ed3\u679c\u8fdb\u884c\u7f13\u5b58\n CheckPermissionDto reqDto = new CheckPermissionDto();\n reqDto.setUserId(sub);\n reqDto.setNamespaceCode(aud);\n reqDto.setResources(Arrays.asList(resource.substring(1, resource.length())));\n reqDto.setAction(action);\n CheckPermissionRespDto checkPermissiOnRespDto= managementClient.checkPermission(reqDto);\n log.info(new Gson().toJson(checkPermissionRespDto));\n\n // 7. \u7531\u4e8e\u6211\u4eec\u662f\u5355\u4e2a resource \u6821\u9a8c\uff0c\u6240\u4ee5\u53ea\u9700\u8981\u5224\u65ad\u7b2c\u4e00\u4e2a\u5143\u7d20\u5373\u53ef\n List<CheckPermissionsRespDto> resultList = checkPermissionRespDto.getData().getCheckResultList();\n if (resultList.isEmpty() || resultList.get(0).getEnabled() == false) {\n return result(response, stopWatch, requestID, HttpStatus.HTTP_FORBIDDEN, \"HTTP_FORBIDDEN\");\n }\n\n return result(response, stopWatch, requestID, HttpStatus.HTTP_OK, \"ok\");\n\n } catch (Exception e) {\n e.printStackTrace();\n log.error(\"\u8bf7\u6c42\u9519\u8bef\uff01\", e);\n return result(response, stopWatch, requestID, HttpStatus.HTTP_INTERNAL_ERROR, e.getMessage());\n }\n }\n\n\n public String result(HttpServletResponse response, StopWatch stopWatch, String requestID, int status, String msg) {\n stopWatch.stop();\n log.info(\"{} ==> \u8bf7\u6c42\u8017\u65f6\uff1a{} , \u8bf7\u6c42\u51fa\u53c2 : http_status_code={},msg={} \", requestID, stopWatch.getTotalTimeMillis() + \"ms\", status, msg);\n response.setStatus(status);\n return msg;\n }\n\n\n public String onlineValidatorAccessToken(String accessToken, String aud) {\n HashMap<String, Object> paramMap = new HashMap<>();\n paramMap.put(\"token\", accessToken);\n paramMap.put(\"token_type_hint\", \"access_token\");\n paramMap.put(\"client_id\", aud);\n return HttpUtil.post(\"https://api.authing.cn/\" + aud + \"/oidc/token/introspection\", paramMap);\n\n }\n\n public JWTClaimsSet offlineValidatorAccessToken(String accessToken, String aud) {\n try {\n ConfigurableJWTProcessor<SecurityContext> jwtProcessor =\n new DefaultJWTProcessor<>();\n JWKSource<SecurityContext> keySource =\n null;\n\n keySource = new RemoteJWKSet<>(new URL(\"https://api.authing.cn/\" + aud + \"/oidc/.well-known/jwks.json\"));\n\n JWSAlgorithm expectedJWSAlg = JWSAlgorithm.RS256;\n\n JWSKeySelector<SecurityContext> keySelector =\n new JWSVerificationKeySelector<>(expectedJWSAlg, keySource);\n\n jwtProcessor.setJWSKeySelector(keySelector);\n\n return jwtProcessor.process(accessToken, null);\n } catch (MalformedURLException e) {\n e.printStackTrace();\n } catch (ParseException e) {\n e.printStackTrace();\n } catch (BadJOSEException e) {\n e.printStackTrace();\n } catch (JOSEException e) {\n e.printStackTrace();\n } finally {\n return null;\n }\n }\n}\n
\n

APISIXRquestParams.java

\n
package cn.authing.apisix.adapter.entity;\n\nimport lombok.Data;\nimport lombok.ToString;\n\nimport java.util.Map;\n\n/**\n * APISIX \u8bf7\u6c42\u5b9e\u4f53\u7c7b\n */\n@Data\n@ToString\npublic class APISIXRquestParams {\n /**\n * APISIX \u8bf7\u6c42\u4e0a\u4e0b\u6587\n */\n APISIXRequest request;\n /**\n * \u63d2\u4ef6\u914d\u7f6e\n */\n Map<String, Object> pluginConfig;\n\n}\n
\n

APISIXRequest.java

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

4.6 \u8bbf\u95ee\u6d4b\u8bd5

\n\n

\"\"

\n\n

\"\"

\n\n

\"\"

\n

404 \u662f\u56e0\u4e3a\u4e0a\u6e38\u670d\u52a1\u6ca1\u6709\u8fd9\u4e2a\u63a5\u53e3\uff0c\u4f46\u8ba4\u8bc1\u548c API \u9274\u6743\u5df2\u7ecf\u901a\u8fc7

\n

05 \u603b\u7ed3

\n

\u5982\u679c\u60a8\u9700\u8981\u5bf9 API \u8fdb\u884c\u7ec6\u9897\u7c92\u5ea6\u7684\u7ba1\u7406\u53ef\u4ee5\u901a\u8fc7\u672c\u65b9\u6848\u6765\u5b9e\u73b0\uff0c\u6211\u4eec\u53ef\u4ee5\u5728 Adapter \u5b9e\u73b0\u66f4\u52a0\u7ec6\u7c92\u5ea6\u7684 API \u8bbf\u95ee\u63a7\u5236\u4ee5\u53ca\u66f4\u52a0\u573a\u666f\u5316\u7684\u6743\u9650\u65b9\u6848\u3002

\n" }, { "author": { "url": "member/Authing", "name": "Authing", "avatar": "https://cdn.v2ex.com/avatar/b759/896b/570457_large.png?m=1683190646" }, "url": "t/926868", "title": "Authing \u7ed3\u5408 APISIX \u5b9e\u73b0\u7edf\u4e00\u53ef\u914d\u7f6e API \u6743\u9650\u7f51\u5173\uff08\u5feb\u901f\u542f\u52a8\u7248\uff09", "id": "t/926868", "date_published": "2023-03-24T07:22:38+00:00", "content_html": "

\u5f53\u5f00\u53d1\u8005\u5728\u6784\u5efa\u7f51\u7ad9\u3001\u79fb\u52a8\u8bbe\u5907\u6216\u7269\u8054\u7f51\u5e94\u7528\u7a0b\u5e8f\u65f6\uff0c\u53ef\u80fd\u9700\u8981\u4f7f\u7528 API \u7f51\u5173\u6765\u5904\u7406\u63a5\u53e3\u6d41\u91cf\u3002\u800c\u5728\u5b9e\u9645\u4e1a\u52a1\u573a\u666f\u4e2d\uff0c\u9664\u53bb\u5c11\u90e8\u5206\u5141\u8bb8\u533f\u540d\u8005\u8bbf\u95ee\u7684 API \u5916\uff0cAPI \u63d0\u4f9b\u8005\u901a\u5e38\u4f1a\u5bf9 API \u4f7f\u7528\u8005\u8fdb\u884c\u6743\u9650\u7ba1\u63a7\uff0c\u53ea\u5141\u8bb8\u7b26\u5408\u8bbf\u95ee\u8981\u6c42\u7684\u4f7f\u7528\u8005\u8bbf\u95ee\u8be5 API \u3002\u5176\u6b21\uff0c\u6743\u9650\u7ba1\u63a7\u6d89\u53ca\u5230\u6743\u9650\u7b56\u7565\uff0c\u5bf9\u4e8e\u4e0d\u540c\u6761\u4ef6\u4e14\u5747\u7b26\u5408\u8bbf\u95ee\u8981\u6c42\u7684\u4f7f\u7528\u8005\u505a\u6743\u9650\u533a\u5206\u3002\u672c\u6587\u5c06\u5e26\u4f60\u5feb\u901f\u521b\u5efa\u4f7f\u7528 Authing \u7ed3\u5408 APISIX \u5b9e\u73b0\u7edf\u4e00\u53ef\u914d\u7f6e API \u6743\u9650\u7f51\u5173\u3002

\n

01 \u5173\u4e8e Authing

\n

Authing \u662f\u56fd\u5185\u9996\u6b3e\u4ee5\u5f00\u53d1\u8005\u4e3a\u4e2d\u5fc3\u7684\u5168\u573a\u666f\u8eab\u4efd\u4e91\u4ea7\u54c1\uff0c\u96c6\u6210\u4e86\u6240\u6709\u4e3b\u6d41\u8eab\u4efd\u8ba4\u8bc1\u534f\u8bae\uff0c\u4e3a\u4f01\u4e1a\u548c\u5f00\u53d1\u8005\u63d0\u4f9b\u5b8c\u5584\u5b89\u5168\u7684\u7528\u6237\u8ba4\u8bc1\u548c\u8bbf\u95ee\u7ba1\u7406\u670d\u52a1\u3002\u4ee5\u300c API First \u300d\u4f5c\u4e3a\u4ea7\u54c1\u57fa\u77f3\uff0c\u628a\u8eab\u4efd\u9886\u57df\u6240\u6709\u5e38\u7528\u529f\u80fd\u90fd\u8fdb\u884c\u4e86\u6a21\u5757\u5316\u7684\u5c01\u88c5\uff0c\u901a\u8fc7\u5168\u573a\u666f\u7f16\u7a0b\u8bed\u8a00 SDK \u5c06\u6240\u6709\u80fd\u529b API \u5316\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u3002\u540c\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u7075\u6d3b\u7684\u4f7f\u7528 Authing \u5f00\u653e\u7684 RESTful APIs \u8fdb\u884c\u529f\u80fd\u62d3\u5c55\uff0c\u6ee1\u8db3\u4e0d\u540c\u4f01\u4e1a\u4e0d\u540c\u4e1a\u52a1\u573a\u666f\u4e0b\u7684\u8eab\u4efd\u548c\u6743\u9650\u7ba1\u7406\u9700\u6c42\u3002

\n

02 \u5173\u4e8e APISIX

\n

Apache APISIX \u662f\u4e00\u4e2a\u52a8\u6001\u3001\u5b9e\u65f6\u3001\u9ad8\u6027\u80fd\u7684 API \u7f51\u5173\uff0c\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001\u52a8\u6001\u4e0a\u6e38\u3001\u7070\u5ea6\u53d1\u5e03\u3001\u670d\u52a1\u7194\u65ad\u3001\u8eab\u4efd\u8ba4\u8bc1\u3001\u53ef\u89c2\u6d4b\u6027\u7b49\u4e30\u5bcc\u7684\u6d41\u91cf\u7ba1\u7406\u529f\u80fd\u3002Apache APISIX \u4e0d\u4ec5\u652f\u6301\u63d2\u4ef6\u52a8\u6001\u53d8\u66f4\u548c\u70ed\u63d2\u62d4\uff0c\u800c\u4e14\u62e5\u6709\u4f17\u591a\u5b9e\u7528\u7684\u63d2\u4ef6\u3002Apache APISIX \u7684 OpenID Connect \u63d2\u4ef6\u652f\u6301 OpenID Connect \u534f\u8bae\uff0c\u7528\u6237\u53ef\u4ee5\u4f7f\u7528\u8be5\u63d2\u4ef6\u8ba9 Apache APISIX \u5bf9\u63a5 Authing \u670d\u52a1\uff0c\u4f5c\u4e3a\u96c6\u4e2d\u5f0f\u8ba4\u8bc1\u7f51\u5173\u90e8\u7f72\u4e8e\u4f01\u4e1a\u4e2d\u3002

\n

03 \u4e1a\u52a1\u76ee\u6807

\n

\u901a\u8fc7 Authing \u6743\u9650\u7ba1\u7406 + APISIX \u5b9e\u73b0 API \u7684\u8bbf\u95ee\u63a7\u5236\u3002

\n

\u6848\u4f8b\uff1a\u6211\u4eec\u5e0c\u671b\u7528\u6237\u5728 Authing \u8fdb\u884c\u8ba4\u8bc1\u540e\u8bbf\u95ee\u5230\u88ab\u6388\u6743\u7684 API \u3002\n( https://console.authing.cn/api/v2/get_console_context \uff09

\n

04 \u5982\u4f55\u5b9e\u73b0

\n

\u6ce8\u610f\uff0c\u672c\u6559\u7a0b\u53ea\u7528\u4e8e\u4e0e APISIX \u548c Authing \u8fdb\u884c\u96c6\u6210\u6d4b\u8bd5\u3002\u540e\u7eed\u6211\u4eec\u5c06\u53d1\u5e03\u300a Authing \u7ed3\u5408 APISIX \u5b9e\u73b0\u7edf\u4e00\u53ef\u914d\u7f6e API \u6743\u9650\u7f51\u5173\uff08\u63d2\u4ef6\u5f00\u53d1\u7248\uff09\u300b\u3002

\n

4.1 \u4e1a\u52a1\u67b6\u6784

\n

\"\"

\n

4.2 \u5148\u51b3\u6761\u4ef6

\n

\u9700\u8981\u81ea\u884c\u63d0\u524d\u5b89\u88c5\uff0cdocker \u548c docker-compose \u3002

\n

4.3 APISIX & Authing Plugin \u57fa\u7840\u73af\u5883\u642d\u5efa

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

\u5230\u8fd9\u91cc\u53ef\u4ee5\u4f7f\u7528 docker ps \u67e5\u770b apisix docker \u8fdb\u7a0b\u542f\u52a8\u72b6\u6001\uff0c \u968f\u540e\u8bbf\u95ee {your server IP}:9000 \u53ef\u4ee5\u8fdb\u5165 dashboard \u754c\u9762\u8fdb\u884c\u8def\u7531\u548c\u63d2\u4ef6\u7684\u914d\u7f6e\u3002

\n

\"\"

\n

4.4 \u5728 Authing \u5bf9 API \u8fdb\u884c\u7ba1\u7406

\n

Authing \u5b98\u7f51\uff1awww.authing.com \u3002\u6216\u70b9\u51fb\u6587\u7ae0\u5e95\u90e8\u9605\u8bfb\u539f\u6587\u3002

\n\n

\"\"

\n

\u914d\u7f6e Token \u7b7e\u540d\u7b97\u6cd5\u4e3a RS256 \u53ca\u6821\u9a8c AccessToken \u7684\u65b9\u5f0f\u4e3a none \u3002

\n

\"\"

\n\n

\u8fdb\u5165 Authing \u63a7\u5236\u53f0-\u7528\u6237\u7ba1\u7406-\u7528\u6237\u5217\u8868-\u70b9\u51fb\u521b\u5efa\u7528\u6237\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u65b9\u5f0f\uff08\u7528\u6237\u540d\u3001\u624b\u673a\u53f7\u3001\u90ae\u7bb1\uff09\u521b\u5efa\u6d4b\u8bd5\u7528\u6237\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n\n

\u8fdb\u5165 Authing \u63a7\u5236\u53f0-\u6743\u9650\u7ba1\u7406-\u521b\u5efa\u8d44\u6e90\uff0c\u53ef\u4ee5\u9009\u62e9\u521b\u5efa\u6811\u6570\u636e\u7c7b\u578b\u7684\u8d44\u6e90\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n

\"\"

\n

\"\"

\n

\u6dfb\u52a0\u76f8\u5173\u64cd\u4f5c\uff0c\u8fd9\u91cc\u6211\u4eec\u7684\u64cd\u4f5c\u5bf9\u5e94 HTTP \u7684\u8bf7\u6c42\u65b9\u6cd5\uff1a

\n

\"\"

\n\n

\u8fdb\u5165\u6743\u9650\u7ba1\u7406-\u6570\u636e\u8d44\u6e90\u6743\u9650-\u6570\u636e\u7b56\u7565\u6807\u7b7e\uff0c\u53ef\u4ee5\u70b9\u51fb\u521b\u5efa\u7b56\u7565\u6765\u65b0\u5efa\u6570\u636e\u8bbf\u95ee\u7b56\u7565\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002\u7b56\u7565\u5305\u542b\u4e86\u5bf9\u5e94\u7684\u6743\u9650\u7a7a\u95f4\u4e2d\u5b9a\u4e49\u7684\u6570\u636e\u4ee5\u53ca\u64cd\u4f5c\uff0c\u521b\u5efa\u540e\u80fd\u591f\u57fa\u4e8e\u6b64\u7b56\u7565\u5bf9\u4e0d\u540c\u5bf9\u8c61(\u7528\u6237\u3001\u89d2\u8272\u3001\u7528\u6237\u7ec4\u7b49)\u8fdb\u884c\u6388\u6743\u7ba1\u7406\u3002

\n

\"\"

\n\n

\"\"

\n

\"\"

\n

4.5 \u6dfb\u52a0\u8def\u7531

\n\n

\u5728 APISIX \u5bbf\u4e3b\u673a\u4e0a\u6267\u884c\u3002

\n

\u6ce8\u610f\uff0c\u9700\u8981\u66ff\u6362\u8bf7\u6c42\u53c2\u6570\u4e2d\u7684\u7528\u6237\u6c60 ID \u4ee5\u53ca\u5bc6\u94a5\u3002

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

upstream \u6211\u4eec\u5728\u8fd9\u91cc\u4f7f\u7528\u7684\u662f httpbin.org \uff0chttpbin.org \u662f\u4e00\u4e2a\u7b80\u5355\u7684\u5728\u7ebf\u63d0\u4f9b HTTP \u670d\u52a1\u7684\u7f51\u7ad9\uff0c\u60a8\u53ef\u4ee5\u5c06\u5176\u7528\u4e8e\u6d4b\u8bd5\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u5176\u4fee\u6539\u4e3a\u81ea\u5df1\u7684\u5b9e\u9645 API \u670d\u52a1\u5730\u5740\u3002

\n

X-API-KEY \u6240\u5728\u4f4d\u7f6e\uff1a/apisix/apisix_conf/config.yaml

\n

\u82e5\u60a8\u4fee\u6539\u4e86\u6b64\u5b57\u6bb5\u5219\u9700\u8981\u5728 curl \u8bf7\u6c42\u4e2d\u8fdb\u884c\u4fee\u6539\uff1a

\n

\"\"

\n

4.6 \u8bbf\u95ee\u6d4b\u8bd5

\n

\u76ee\u6807\uff1a\u5f53\u7528\u6237\u8ba4\u8bc1\u5e76\u643a\u5e26\u6709\u6548\u7684 AccessToken \u4e14\u8bbf\u95ee\u7684 uri \u662f\u88ab\u6388\u6743\u7684\uff0c\u65b9\u53ef\u6b63\u5e38\u8c03\u7528 API \u3002

\n\n

\u8ba9\u6211\u4eec\u5148\u53bb Authing \u7684\u5e94\u7528\u8fdb\u884c\u8ba4\u8bc1\uff0c\u83b7\u53d6\u88ab\u6388\u6743\u7528\u6237\u7684 accessToken \u3002

\n

\"\"

\n

\"\"

\n

\u590d\u5236\u8fd9\u4e2a access_token \u63a5\u4e0b\u6765\u6d4b\u8bd5\u4f1a\u7528\u5230\u3002

\n

\"\"

\n\n

\"\"

\n
curl --location --request GET 'http://{\u670d\u52a1\u5668 IP}:9080/xxxx'\n
\n\n

\"\"

\n
curl --location --request GET 'http://{\u670d\u52a1\u5668 IP}:9080/xxxx' \\\n--header 'Authorization: Bearer {accessToken}'\n
\n\n

\"\"

\n
curl --location --request GET 'http://{\u670d\u52a1\u5668 IP}:9080/api/v2/get_console_context' \\\n--header 'Authorization: Bearer {accessToken}'\n
\n

05 \u672a\u6765\u53ef\u671f

\n

\u5728\u6b64\u65b9\u6848\u57fa\u7840\u4e0a\u6211\u4eec\u4e5f\u53ef\u4ee5\u5b9e\u73b0\u7edf\u4e00\u7684\u5b89\u5168\u5ba1\u8ba1\u3001\u7528\u6237\u884c\u4e3a\u8f68\u8ff9\u5206\u6790\u3001\u7528\u6237\u8bbf\u95ee\u98ce\u9669\u8bc4\u4f30\u7b49\uff0c\u7528\u4ee5\u5b9e\u73b0\u5168\u94fe\u8def API \u8bbf\u95ee\u6cbb\u7406\u3002

\n" }, { "author": { "url": "member/jalena", "name": "jalena", "avatar": "https://cdn.v2ex.com/gravatar/b966aaabe36d4274eba28ef301495149?s=73&d=retro" }, "url": "t/925539", "title": "\u505a\u4e00\u4e2a\u63a5\u53e3\u7684\u4e2d\u95f4\u4ef6\u6709\u90a3\u4e9b\u6280\u672f\u6808\u53ef\u4ee5\u76f4\u63a5\u62ff\u6765\u7528\u5462\uff1f", "id": "t/925539", "date_published": "2023-03-20T06:07:34+00:00", "content_html": "

\u6700\u8fd1\u9879\u76ee\u9700\u8981\u6574\u4e00\u4e2a\u63a5\u53e3\u7684\u4e2d\u95f4\u4ef6\uff08 ERP - \u4e2d\u95f4\u4ef6 - \u5176\u4ed6\u7cfb\u7edf\uff09

\n

\u56e0\u4e3a ERP \u8fd9\u8fb9\u6709\u8981\u6c42\u4e0d\u8981\u76f4\u63a5\u5bf9\u63a5\u5176\u4ed6\u7cfb\u7edf\uff0c\u4e2d\u95f4\u4ef6\u9700\u8981\u505a\u4e00\u4e9b\u63a5\u53e3\u7684\u6570\u636e\u8f6c\u6362\u52a0\u5de5\u5de5\u4f5c\uff0c\u6c42\u63a8\u8350\u70b9\u6280\u672f\u601d\u8def\u3002\u3002

\n

\u6700\u597d\u662f Java \u6216\u8005 Python \u7684

\n" }, { "author": { "url": "member/lituancheng", "name": "lituancheng", "avatar": "https://cdn.v2ex.com/gravatar/71bbf1408a3293b6807bd5d74663b2a8?s=73&d=retro" }, "url": "t/891342", "title": "\u4e2a\u4eba\u5f00\u53d1\u7684\u514d\u8d39 API \u5e73\u53f0\uff08\u5305\u542b ip \u5f52\u5c5e\u5730\u3001\u624b\u673a\u53f7\u5f52\u5c5e\u5730\uff0c\u7ecf\u7eac\u5ea6\u67e5\u8be2\u3001\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u7b49\uff09", "id": "t/891342", "date_published": "2022-10-31T02:14:06+00:00", "content_html": "

apiKey \u901a\u8fc7\u6211\u81ea\u5df1\u7684\u516c\u4f17\u53f7\u4e0b\u53d1\uff0c\u5355\u4e2a apiKey \u6bcf\u65e5 5w \u6b21\u8c03\u7528\u989d\u5ea6\u3002

\n

\u6587\u6863\u94fe\u63a5\uff1a https://api-ltc1.doc.coding.io/

\n

\u6709\u7591\u95ee\u6216\u8005\u95ee\u9898\u53ef\u4ee5\u53d1\u8bc4\u8bba\u533a

\n" }, { "author": { "url": "member/ggvm", "name": "ggvm", "avatar": "https://cdn.v2ex.com/gravatar/c2628663ed1740091d359dd1cf55bca1?s=73&d=retro" }, "url": "t/870596", "title": "\u5206\u4eab\u4e2a\u624b\u673a\u53f7+\u540d\u5b57\u4e8c\u8981\u7d20\u5b9e\u540d \u6bd4\u8f83\u4fbf\u5b9c API \u7684\u6e20\u9053", "id": "t/870596", "date_published": "2022-08-04T03:17:57+00:00", "content_html": "\u56e0\u4e1a\u52a1\u9700\u8981\u505a\u5b9e\u540d\u5236\u9a8c\u8bc1\u3002

\u627e\u4e86\u5f88\u591a \u624b\u673a\u53f7+\u540d\u5b57 \u4e8c\u8981\u7d20\u9a8c\u8bc1\uff0c\u90fd\u662f 0.4 \u5143\u5de6\u53f3\u3002

\u540e\u9762\u7528\u4e86\u4e2a\u4fbf\u5b9c\u7684\uff0c\u4eac\u4e1c\u6570\u636e 0.25 \u4e00\u6b21

https://wx.jdcloud.com/market/datas/5/14410" }, { "author": { "url": "member/lviiluck", "name": "lviiluck", "avatar": "https://cdn.v2ex.com/gravatar/0f051abf47da53c5fe371ed0c64671ed?s=73&d=retro" }, "url": "t/868359", "title": "\u6c42\u5927\u795e\u5e2e\u5fd9\uff0c\u6062\u590d\u4e0b\u6211\u7684\u767e\u5ea6\u4e91", "id": "t/868359", "date_published": "2022-07-24T07:35:16+00:00", "content_html": "

1 \uff0c\u4e4b\u524d\u6709\u7528 Imazing \u5907\u4efd\u8fc7\u767e\u5ea6\u4e91\n2 \uff0c\u7136\u540e\u4fee\u6539\u4e86\u5bc6\u7801\u5fd8\u8bb0\u4e86\uff0c\u4e00\u76f4\u4e5f\u6ca1\u5728\u7528\uff0c\u73b0\u5728\u60f3\u4e0b\u8f7d\u91cc\u9762\u7684\u901a\u8baf\u5f55\u8ddf\u4e00\u4e9b\u6587\u4ef6\uff0c\u8fd8\u6709\u529e\u6cd5\u5417\uff1f\n3 \uff0c\u73b0\u5728\u53ea\u6709 Imazing \uff0c\u6062\u590d\u5230 iPhone \u4e0a\uff0c\u53ea\u8981\u8054\u7f51\u5c31\u5f3a\u884c\u88ab\u9000\u51fa\u4e86\uff0c\u6709\u5176\u4ed6\u529e\u6cd5\u80fd\u4e0b\u8f7d\u91cc\u9762\u7684\u901a\u8baf\u5f55\u8ddf\u6587\u4ef6\u5417\uff1f

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/863535", "title": "\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u57fa\u7840\u4fe1\u606f API \u63a5\u53e3", "id": "t/863535", "date_published": "2022-07-01T14:53:47+00:00", "content_html": "

\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u57fa\u7840\u4fe1\u606f API \u63a5\u53e3

\n

\u63d0\u4f9b\u5168\u56fd\u5927\u5b66\u9ad8\u6821\u57fa\u7840\u4fe1\u606f\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

API \u8be6\u60c5\u5730\u5740: https://www.gugudata.com/api/details/college

\n

\u63a5\u53e3\u8bf7\u6c42\u5730\u5740: https://api.gugudata.com/location/college

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/location/college?appkey=YOUR_APPKEY&keywords=YOUR_VALUE&pagesize=10&pageindex=1&keywordstrict=false&collegecategory=

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/location/college/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
keywordsstring\u662fYOUR_VALUE\u641c\u7d22\u5173\u952e\u5b57\uff0c\u6a21\u7cca\u5339\u914d\u9ad8\u6821\u540d\u79f0\u3001\u7701\u5e02\u533a\u3001\u9ad8\u6821\u65e7\u79f0\u3001\u5730\u5740\u5b57\u6bb5\uff0c\u53c2\u6570\u503c\u4e3a\u7a7a\u5219\u8fd4\u56de\u6240\u6709\u6570\u636e
pagesizeint\u542610\u6bcf\u9875\u6570\u636e\u91cf\uff0c\u53c2\u6570\u6700\u5927\u503c\u4e3a 100
pageindexint\u54261\u9875\u7801\uff0c\u7b2c\u51e0\u9875\u6570\u636e
keywordstrictstring\u5426false\u63a7\u5236 keyword \u53c2\u6570\u5728\u67e5\u8be2\u65f6\u662f\u5426\u8fdb\u884c\u6a21\u7cca\u67e5\u8be2\uff0ctrue \u4e3a\u7cbe\u786e\u5339\u914d\u9ad8\u6821\u540d\u79f0\uff0c\u9ed8\u8ba4\u503c\u4e3a false \u8fdb\u884c\u6a21\u7cca\u67e5\u8be2
collegecategorystring\u5426\u5b66\u9662\u7c7b\u522b\uff0c\u53c2\u6570\u9ed8\u8ba4\u503c\u4e3a\u7a7a\uff0c\u4e0d\u8fdb\u884c\u7b5b\u9009\u3002\u53ef\u9009\u53c2\u6570\u4e3a\uff1a\u7406\u5de5\u7c7b|\u7efc\u5408\u7c7b|\u5e08\u8303\u7c7b|\u8d22\u7ecf\u7c7b|\u533b\u836f\u7c7b|\u827a\u672f\u7c7b|\u519c\u6797\u7c7b|\u519b\u4e8b\u7c7b|\u653f\u6cd5\u7c7b|\u8bed\u8a00\u7c7b|\u4f53\u80b2\u7c7b|\u6c11\u65cf\u7c7b|\u5176\u5b83

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.SchoolUUIDstring\u5495\u5495\u6570\u636e\u5e73\u53f0\u9ad8\u6821\u552f\u4e00 ID \uff0c\u6b64\u552f\u4e00 ID \u53ef\u4e0e \u5386\u5e74\u9ad8\u8003\u9ad8\u6821\u5f55\u53d6\u5206\u6570\u7ebf\u3001\u5386\u5e74\u9ad8\u8003\u4e13\u4e1a\u5f55\u53d6\u5206\u6570\u7ebf \u63a5\u53e3\u4e2d\u7684 SchoolUUID \u8fdb\u884c\u552f\u4e00\u5339\u914d
Data.CollegeNamestring\u5b66\u9662\u540d\u79f0
Data.Provincestring\u5b66\u9662\u6240\u5728\u7701\u4efd
Data.Citystring\u5b66\u9662\u6240\u5728\u57ce\u5e02
Data.Districtstring\u5b66\u9662\u6240\u5728\u533a\u53bf
Data.Coordinatestring\u5b66\u9662\u5730\u7406\u5750\u6807\u7ecf\u7eac\u5ea6\uff0c\u683c\u5f0f\u4e3a [\u7ecf\u5ea6,\u7eac\u5ea6]\uff0c\u5730\u7406\u5750\u6807\u7cfb\u4e3a GCJ-02 \u3002\u9700\u8981\u8f6c\u6362\u5750\u6807\u7cfb\u8bf7\u8c03\u7528\u5730\u7406\u5750\u6807\u7cfb\u8f6c\u6362\u63a5\u53e3
Data.CollegeTypestring\u5b66\u9662\u6027\u8d28\uff0c\u503c\u7684\u679a\u4e3e\u4e3a: \u666e\u901a\u672c\u79d1|\u72ec\u7acb\u5b66\u9662|\u4e13\u79d1\uff08\u9ad8\u804c\uff09|\u9ad8\u804c\u9ad8\u4e13|\u4e2d\u5916\u5408\u4f5c\u529e\u5b66|\u6210\u4eba\u6559\u80b2|HND \u9879\u76ee|\u8fdc\u7a0b\u6559\u80b2\u5b66\u9662|\u5176\u5b83
Data.Is985bool\u662f\u5426\u4e3a 985 \u9662\u6821
Data.Is211bool\u662f\u5426\u4e3a 211 \u9662\u6821
Data.IsDualClassbool\u662f\u5426\u4e3a\u53cc\u4e00\u6d41\u9662\u6821
Data.CollegeCategorystring\u5b66\u9662\u7c7b\u522b\uff0c\u503c\u7684\u679a\u4e3e\u4e3a: \u7efc\u5408\u7c7b|\u7406\u5de5\u7c7b|\u5e08\u8303\u7c7b|\u8d22\u7ecf\u7c7b|\u533b\u836f\u7c7b|\u827a\u672f\u7c7b|\u519c\u6797\u7c7b|\u519b\u4e8b\u7c7b|\u653f\u6cd5\u7c7b|\u8bed\u8a00\u7c7b|\u4f53\u80b2\u7c7b|\u6c11\u65cf\u7c7b|\u5176\u5b83
Data.CollegeTagsstring[]\u5b66\u9662\u6807\u7b7e
Data.EduLevelstring\u5b66\u9662\u5b66\u5236\uff0c\u503c\u7684\u679a\u4e3e\u4e3a: \u666e\u901a\u672c\u79d1|\u672c\u79d1|\u4e13\u79d1\uff08\u9ad8\u804c\uff09|\u4e13\u79d1|\u5176\u5b83
Data.CollegePropertystring\u5b66\u9662\u8d44\u8d28\uff0c\u503c\u7684\u679a\u4e3e\u4e3a: \u516c\u529e|\u6c11\u529e|\u4e2d\u5916\u5408\u4f5c\u529e\u5b66
Data.CollegeCodestring\u5b66\u9662\u7f16\u53f7
Data.Rankingint\u5168\u56fd\u6392\u540d\uff0c\u63a5\u53e3\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u679c\u9ed8\u8ba4\u6309\u7167\u6b64\u6570\u503c\u8fdb\u884c\u5347\u5e8f\u6392\u5217
Data.RankingInCategorystring\u5b66\u9662\u6240\u5728\u7c7b\u522b\u4e0b\u6392\u540d
Data.WebSitestring\u5b66\u9662\u5b98\u7f51
Data.CallNumberstring\u5b66\u9662\u62db\u751f\u7535\u8bdd
Data.Emailstring\u5b66\u9662\u62db\u751f\u90ae\u7bb1
Data.Addressstring\u5b66\u9662\u5730\u5740
Data.CoverImagestring\u5b66\u9662\u6821\u5fbd
Data.Introstring\u5b66\u9662\u7b80\u4ecb
Data.Expensesstring\u5b66\u9662\u6536\u8d39\uff08\u4ec5\u4f9b\u53c2\u8003\uff09
Data.OldNamestring\u5b66\u9662\u65e7\u79f0
Data.ShortNamestring\u5b66\u9662\u7b80\u79f0
Data.MajorList.MajorTitlestring\u5f00\u8bbe\u4e13\u4e1a\u5927\u7c7b
Data.MajorList.Majorsstring[]\u6b64\u5927\u7c7b\u4e0b\u5f00\u8bbe\u7684\u4e13\u4e1a

5. \u63a5\u53e3 HTTP \u54cd\u5e94\u6807\u51c6\u72b6\u6001\u7801

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u72b6\u6001\u7801\u72b6\u6001\u7801\u89e3\u91ca\u5907\u6ce8
200\u63a5\u53e3\u6b63\u5e38\u54cd\u5e94\u4e1a\u52a1\u72b6\u6001\u7801\u53c2\u89c1\u4e0b\u65b9 \u63a5\u53e3\u81ea\u5b9a\u4e49\u72b6\u6001\u7801
403\u8bf7\u6c42\u9891\u7387\u8d85\u9650CDN \u5c42\u901a\u8fc7 IP \u8bf7\u6c42\u9891\u7387\u667a\u80fd\u5224\u65ad\uff0c\u4e00\u822c\u7684\u9ad8\u9891\u8bf7\u6c42\u4e0d\u4f1a\u89e6\u53d1\u6b64\u72b6\u6001\u7801

6. \u63a5\u53e3\u54cd\u5e94\u72b6\u6001\u7801

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u72b6\u6001\u7801\u72b6\u6001\u7801\u89e3\u91ca\u5907\u6ce8
100\u6b63\u5e38\u8fd4\u56de\u53ef\u901a\u8fc7\u5224\u65ad\u6b64\u72b6\u6001\u7801\u65ad\u8a00\u63a5\u53e3\u6b63\u5e38\u8fd4\u56de
-1\u8bf7\u6c42\u5931\u8d25\u8bf7\u6c42\u5904\u7406\u8bf7\u6c42\u5931\u8d25
501\u53c2\u6570\u9519\u8bef\u8bf7\u68c0\u67e5\u60a8\u4f20\u9012\u7684\u53c2\u6570\u4e2a\u6570\u4ee5\u53ca\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5339\u914d
502\u8bf7\u6c42\u9891\u7387\u53d7\u9650\u4e00\u822c\u5efa\u8bae\u6bcf\u79d2\u8bf7\u6c42\u4e0d\u8d85\u8fc7 100 \u6b21
503APPKEY \u6743\u9650\u8d85\u9650 /\u8ba2\u5355\u5230\u671f\u8bf7\u81f3\u5f00\u53d1\u8005\u4e2d\u5fc3\u68c0\u67e5\u60a8\u7684 APPKEY \u662f\u5426\u5230\u671f\u6216\u662f\u5426\u6743\u9650\u8d85\u9650
504APPKEY \u9519\u8bef\u8bf7\u68c0\u67e5\u4f20\u9012\u7684 APPKEY \u662f\u5426\u4e3a\u5f00\u53d1\u8005\u4e2d\u5fc3\u83b7\u53d6\u5230\u7684\u503c
505\u8bf7\u6c42\u7684\u6b21\u6570\u8d85\u51fa\u63a5\u53e3\u9650\u5236\u8bf7\u68c0\u67e5\u5bf9\u5e94\u63a5\u53e3\u662f\u5426\u6709\u8bf7\u6c42\u6b21\u6570\u9650\u5236\u4ee5\u53ca\u60a8\u76ee\u524d\u7684\u63a5\u53e3\u8bf7\u6c42\u5269\u4f59\u6b21\u6570
900\u63a5\u53e3\u5185\u90e8\u54cd\u5e94\u9519\u8bef\u63a5\u53e3\u53ef\u7528\u6027\u4e3a 99.999%\uff0c\u5982\u83b7\u53d6\u5230\u6b64\u72b6\u6001\u7801\u8bf7\u90ae\u4ef6\u8054\u7cfb\u6211\u4eec

7. \u5f00\u53d1\u8bed\u8a00\u8bf7\u6c42\u793a\u4f8b\u4ee3\u7801

\n

\u793a\u4f8b\u4ee3\u7801\u5305\u542b\u7684\u5f00\u53d1\u8bed\u8a00\uff1aC#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift \u7b49\uff0c\u5176\u4ed6\u8bed\u8a00\u8fdb\u884c\u5bf9\u5e94\u7684 RESTful API \u8bf7\u6c42\u5b9e\u73b0\u5373\u53ef\u3002

\n

\"code

\n

8. \u5e38\u89c1\u95ee\u9898 Q&A

\n\n
\n

\u5495\u5495\u6570\u636e\uff0c\u4e13\u4e1a\u7684\u6570\u636e\u63d0\u4f9b\u5546\uff0c\u63d0\u4f9b\u4e13\u4e1a\u5168\u9762\u7684\u6570\u636e\u63a5\u53e3\u3001\u5546\u4e1a\u6570\u636e\u5206\u6790\uff0c\u8ba9\u6570\u636e\u6210\u4e3a\u60a8\u7684\u751f\u4ea7\u539f\u6599\u3002

\n

\"image-20200716141435988\"

\n

\u5495\u5495\u6570\u636e\u57fa\u4e8e\u6211\u4eec\u4e03\u5e74\u6765\u4e3a\u4f01\u4e1a\u5ba2\u6237\u63d0\u4f9b\u7684\u5343\u4ebf\u7ea7\u6570\u636e\u5b58\u50a8\u4e0e\u6027\u80fd\u4f18\u5316\u3001\u76f8\u5173\u6d77\u91cf\u57fa\u7840\u6570\u636e\u652f\u6491\uff0c\u5c06\u5408\u89c4\u7684\u90e8\u5206\u901a\u7528\u6570\u636e\u3001\u901a\u7528\u529f\u80fd\u62bd\u8c61\u6210\u4ea7\u54c1\u7ea7\u6570\u636e API \uff0c\u5927\u5927\u6ee1\u8db3\u4e86\u7528\u6237\u5728\u4ea7\u54c1\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5bf9\u57fa\u7840\u6570\u636e\u7684\u9700\u6c42\uff0c\u540c\u65f6\u964d\u4f4e\u4e86\u6d77\u91cf\u6570\u636e\u7684\u5b58\u50a8\u4e0e\u8fd0\u7ef4\u6210\u672c\uff0c\u4ee5\u53ca\u590d\u6742\u529f\u80fd\u7684\u6280\u672f\u95e8\u69db\u4e0e\u4eba\u529b\u5f00\u53d1\u6210\u672c\u3002

\n

\u9664\u4e86\u6211\u4eec\u5df2\u5f00\u653e\u7684\u5206\u7c7b\u6570\u636e\u4e0e\u529f\u80fd\u63a5\u53e3\u5916\uff0c\u8fd8\u6709\u6d77\u91cf\u6570\u636e\u6b63\u5728\u6574\u7406\u3001\u6e05\u6d17\u3001\u6574\u5408\u3001\u6784\u5efa\u4e2d\uff0c\u540e\u671f\u4f1a\u5f00\u653e\u66f4\u591a\u7684\u6570\u636e\u4e0e\u4e91\u7aef\u529f\u80fd\u63a5\u53e3 API \u4f9b\u7528\u6237\u4f7f\u7528\u3002

\n

\u76ee\u524d\u5df2\u5f00\u653e\u7684\u6570\u636e\u63a5\u53e3 API

\n\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/842937", "title": "\u56fd\u9645\u6807\u51c6\u4e66\u53f7 ISBN API \u6570\u636e\u63a5\u53e3", "id": "t/842937", "date_published": "2022-03-25T13:07:10+00:00", "content_html": "

\u56fd\u9645\u6807\u51c6\u4e66\u53f7 ISBN API \u6570\u636e\u63a5\u53e3

\n

\u56fe\u4e66 ISBN \u67e5\u8be2\uff0c\u56fe\u4e66\u57fa\u7840\u4fe1\u606f\uff0c\u6c38\u4e45\u56fe\u4e66\u5c01\u9762\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/isbn

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/text/isbn

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/text/isbn?appkey=YOUR_APPKEY&isbn=YOUR_VALUE

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/isbn

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/text/isbn/demo

\n

3. \u8bf7\u6c42\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
isbnstring\u5426YOUR_VALUE\u56fe\u4e66 ISBN \uff0c\u5982 9787020002320

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
DataStatus.RequestParameterstring\u8bf7\u6c42\u53c2\u6570\uff0c\u4e00\u822c\u7528\u4e8e\u8c03\u8bd5
Data.Titlestring\u56fe\u4e66\u540d\u79f0
Data.Authorstring\u4f5c\u8005
Data.Translatorstring\u8bd1\u8005\uff0c\u6ca1\u6709\u8bd1\u8005\u65f6\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32
Data.ISBNstringISBN
Data.Publisherstring\u51fa\u7248\u5546
Data.PublisherDateTimestring\u51fa\u7248\u5e74\u6708\uff0c\u683c\u5f0f 2022-3
Data.PageNumberstring\u56fe\u4e66\u603b\u9875\u7801
Data.Bindingstring\u56fe\u4e66\u5305\u88c5\u7c7b\u578b\uff0c\u5982\u5e73\u88c5\u3001\u7cbe\u88c5
Data.BriefIntroductionstring\u56fe\u4e66\u7b80\u4ecb
Data.AuthorIntroductionstring\u4f5c\u8005\u7b80\u4ecb
Data.CoverImagestring\u56fe\u4e66\u5c01\u9762\u56fe\u7247\u6c38\u4e45\u5730\u5740

5. \u63a5\u53e3\u54cd\u5e94\u72b6\u6001\u7801

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u72b6\u6001\u7801\u72b6\u6001\u7801\u89e3\u91ca\u5907\u6ce8
100\u6b63\u5e38\u8fd4\u56de\u53ef\u901a\u8fc7\u5224\u65ad\u6b64\u72b6\u6001\u7801\u65ad\u8a00\u63a5\u53e3\u6b63\u5e38\u8fd4\u56de
-1\u8bf7\u6c42\u5931\u8d25\u8bf7\u6c42\u5904\u7406\u8bf7\u6c42\u5931\u8d25
501\u53c2\u6570\u9519\u8bef\u8bf7\u68c0\u67e5\u60a8\u4f20\u9012\u7684\u53c2\u6570\u4e2a\u6570\u4ee5\u53ca\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5339\u914d
502\u8bf7\u6c42\u9891\u7387\u53d7\u9650\u4e00\u822c\u5efa\u8bae\u6bcf\u79d2\u8bf7\u6c42\u4e0d\u8d85\u8fc7 100 \u6b21
503APPKEY \u6743\u9650\u8d85\u9650 /\u8ba2\u5355\u5230\u671f\u8bf7\u81f3\u5f00\u53d1\u8005\u4e2d\u5fc3\u68c0\u67e5\u60a8\u7684 APPKEY \u662f\u5426\u5230\u671f\u6216\u662f\u5426\u6743\u9650\u8d85\u9650
504APPKEY \u9519\u8bef\u8bf7\u68c0\u67e5\u4f20\u9012\u7684 APPKEY \u662f\u5426\u4e3a\u5f00\u53d1\u8005\u4e2d\u5fc3\u83b7\u53d6\u5230\u7684\u503c
505\u8bf7\u6c42\u7684\u6b21\u6570\u8d85\u51fa\u63a5\u53e3\u9650\u5236\u8bf7\u68c0\u67e5\u5bf9\u5e94\u63a5\u53e3\u662f\u5426\u6709\u8bf7\u6c42\u6b21\u6570\u9650\u5236\u4ee5\u53ca\u60a8\u76ee\u524d\u7684\u63a5\u53e3\u8bf7\u6c42\u5269\u4f59\u6b21\u6570
900\u63a5\u53e3\u5185\u90e8\u54cd\u5e94\u9519\u8bef\u63a5\u53e3\u53ef\u7528\u6027\u4e3a 99.999%\uff0c\u5982\u83b7\u53d6\u5230\u6b64\u72b6\u6001\u7801\u8bf7\u90ae\u4ef6\u8054\u7cfb\u6211\u4eec

6. \u5f00\u53d1\u8bed\u8a00\u8bf7\u6c42\u793a\u4f8b\u4ee3\u7801

\n

\u793a\u4f8b\u4ee3\u7801\u5305\u542b\u7684\u5f00\u53d1\u8bed\u8a00\uff1aC#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift \u7b49\uff0c\u5176\u4ed6\u8bed\u8a00\u8fdb\u884c\u5bf9\u5e94\u7684 RESTful API \u8bf7\u6c42\u5b9e\u73b0\u5373\u53ef\u3002

\n

\"code

\n

7. \u5e38\u89c1\u95ee\u9898 Q&A

\n\n
\n

\u5495\u5495\u6570\u636e\uff0c\u4e13\u4e1a\u7684\u6570\u636e\u63d0\u4f9b\u5546\uff0c\u63d0\u4f9b\u4e13\u4e1a\u5168\u9762\u7684\u6570\u636e\u63a5\u53e3\u3001\u5546\u4e1a\u6570\u636e\u5206\u6790\uff0c\u8ba9\u6570\u636e\u6210\u4e3a\u60a8\u7684\u751f\u4ea7\u539f\u6599\u3002

\n

\"image-20200716141435988\"

\n

\u5495\u5495\u6570\u636e\u57fa\u4e8e\u6211\u4eec\u4e03\u5e74\u6765\u4e3a\u4f01\u4e1a\u5ba2\u6237\u63d0\u4f9b\u7684\u5343\u4ebf\u7ea7\u6570\u636e\u5b58\u50a8\u4e0e\u6027\u80fd\u4f18\u5316\u3001\u76f8\u5173\u6d77\u91cf\u57fa\u7840\u6570\u636e\u652f\u6491\uff0c\u5c06\u5408\u89c4\u7684\u90e8\u5206\u901a\u7528\u6570\u636e\u3001\u901a\u7528\u529f\u80fd\u62bd\u8c61\u6210\u4ea7\u54c1\u7ea7\u6570\u636e API \uff0c\u5927\u5927\u6ee1\u8db3\u4e86\u7528\u6237\u5728\u4ea7\u54c1\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5bf9\u57fa\u7840\u6570\u636e\u7684\u9700\u6c42\uff0c\u540c\u65f6\u964d\u4f4e\u4e86\u6d77\u91cf\u6570\u636e\u7684\u5b58\u50a8\u4e0e\u8fd0\u7ef4\u6210\u672c\uff0c\u4ee5\u53ca\u590d\u6742\u529f\u80fd\u7684\u6280\u672f\u95e8\u69db\u4e0e\u4eba\u529b\u5f00\u53d1\u6210\u672c\u3002

\n

\u9664\u4e86\u6211\u4eec\u5df2\u5f00\u653e\u7684\u5206\u7c7b\u6570\u636e\u4e0e\u529f\u80fd\u63a5\u53e3\u5916\uff0c\u8fd8\u6709\u6d77\u91cf\u6570\u636e\u6b63\u5728\u6574\u7406\u3001\u6e05\u6d17\u3001\u6574\u5408\u3001\u6784\u5efa\u4e2d\uff0c\u540e\u671f\u4f1a\u5f00\u653e\u66f4\u591a\u7684\u6570\u636e\u4e0e\u4e91\u7aef\u529f\u80fd\u63a5\u53e3 API \u4f9b\u7528\u6237\u4f7f\u7528\u3002

\n

\u76ee\u524d\u5df2\u5f00\u653e\u7684\u6570\u636e\u63a5\u53e3 API

\n\n" }, { "author": { "url": "member/ab", "name": "ab", "avatar": "https://cdn.v2ex.com/avatar/2cd8/7697/76017_large.png?m=1725000948" }, "url": "t/840345", "title": "acme.sh + zerossl \u4eca\u5929\u6709\u95ee\u9898", "id": "t/840345", "date_published": "2022-03-14T14:48:02+00:00", "content_html": "

\u6700\u540e\u4e00\u6b65\u4e0d\u505c retry \uff0c\u6700\u540e\u6302\u6389 504

\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/825685", "title": "A \u80a1\u5206\u65f6\u4ea4\u6613\u6570\u636e\u6570\u636e\u63a5\u53e3 API", "id": "t/825685", "date_published": "2022-01-01T11:23:52+00:00", "content_html": "

A \u80a1\u5206\u65f6\u4ea4\u6613\u6570\u636e

\n

\u5168\u91cf A \u80a1\u5206\u65f6\u4ea4\u6613\u6570\u636e\uff0c\u5206\u949f\u7ea7\u4ea4\u6613\u6570\u636e / \u591a\u65f6\u95f4\u6bb5\u533a\u95f4\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/stockcnperminute

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/stock/cn/stockcnperminute

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/stock/cn/stockcnperminute?appkey=YOUR_APPKEY\n&symbol=YOUR_VALUE\n&period=5\n&begindate=YOUR_VALUE\n&enddate=YOUR_VALUE\n&adjust=YOUR_VALUE

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/stockcnperminute

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/stock/cn/stockcnperminute/demo

\n

3. \u8bf7\u6c42\u53c2\u6570\uff08\u5982\u679c\u4e3a POST \u8bf7\u6c42\uff0c\u90a3\u4e48\u53c2\u6570\u4ee5 JSON \u7684\u683c\u5f0f\u4f20\u9012\uff09

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
symbolstring\u5426YOUR_VALUE\u4f20\u9012\u5355\u652f\u80a1\u7968\u4ee3\u7801\uff0c\u5982: 600031 \u3002\u53ef\u901a\u8fc7\u524d\u7f6e\u63a5\u53e3\u6216\u53c2\u89c1 A \u80a1\u80a1\u7968\u4ee3\u7801\u53c2\u6570\u679a\u4e3e\u9875\u9762
periodint\u54265\u4ea4\u6613\u6570\u636e\u65f6\u95f4\u533a\u95f4\uff0c\u53ef\u9009\u65f6\u95f4\u533a\u95f4\u4ef7\u53c2\u6570\u4e3a: 1|5|15|30|60 (\u5206\u949f)\uff0c \u5176\u4e2d 1 \u5206\u949f\u65f6\u95f4\u533a\u95f4\u4ea4\u6613\u6570\u636e\u4ec5\u8fd4\u56de\u8fd1 5 \u4e2a\u4ea4\u6613\u65e5\u4e0d\u590d\u6743\u6570\u636e
begindatestring\u5426YOUR_VALUE\u4ea4\u6613\u5f00\u59cb\u65f6\u95f4\uff0c\u53c2\u6570\u683c\u5f0f\u4e3a: 2021-01-01 09:00:00
enddatestring\u5426YOUR_VALUE\u4ea4\u6613\u7ed3\u675f\u65f6\u95f4\uff0c\u53c2\u6570\u683c\u5f0f\u4e3a: 2021-01-01 09:00:00 \uff0c\u4e0e\u5f00\u59cb\u65f6\u95f4\u6700\u5927\u65f6\u95f4\u8de8\u5ea6\u652f\u6301 366 \u4e2a\u81ea\u7136\u65e5\uff0c\u83b7\u53d6\u5168\u91cf\u6570\u636e\u8bf7\u5206\u6279\u83b7\u53d6\uff0c\u6570\u636e\u91cf\u8f83\u5927\uff0c\u8bf7\u4fdd\u6301\u5408\u7406\u7684\u8bf7\u6c42\u9891\u7387
adjuststring\u5426YOUR_VALUE\u67e5\u8be2\u524d\u590d\u6743\u3001\u540e\u590d\u6743\u6570\u636e\uff0c\u5982\u679c\u4f20\u9012\u53c2\u6570\u503c\u4e3a pre \uff0c\u90a3\u4e48\u8fd4\u56de\u524d\u590d\u6743\u6570\u636e\uff08\u6240\u6709\u6570\u636e\u8fdb\u884c\u4e86\u524d\u590d\u6743\uff09\uff1b\u5982\u679c\u4f20\u9012\u53c2\u6570\u503c\u4e3a after \uff0c\u90a3\u4e48\u8fd4\u56de\u540e\u590d\u6743\u6570\u636e\uff1b\u9ed8\u8ba4\u503c\u4e3a\u7a7a\u6216\u4e0d\u4f20\u9012\uff0c\u8fd4\u56de\u672a\u590d\u6743\u6570\u636e

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.SymbolstringA \u80a1\u80a1\u7968\u4ee3\u7801
Data.TimeKeydouble\u6700\u65b0\u4ef7\uff0c\u5355\u4f4d\uff1a\u5143
Data.Opendouble\u4eca\u65e5\u5f00\u76d8\u4ef7\uff0c\u5355\u4f4d\uff1a\u5143
Data.Closedouble\u6628\u6536\u4ef7\uff0c\u5355\u4f4d\uff1a\u5143
Data.Highdouble\u6700\u9ad8\uff0c\u5355\u4f4d\uff1a\u5143
Data.Lowdouble\u6700\u4f4e\uff0c\u5355\u4f4d\uff1a\u5143
Data.ChangePercentdouble\u6da8\u8dcc\u5e45 \uff0c\u5355\u4f4d\uff1a%
Data.ChangeAmountdouble\u6da8\u8dcc\u989d \uff0c\u5355\u4f4d\uff1a\u5143
Data.TradingVolumedouble\u6210\u4ea4\u91cf\uff0c\u5355\u4f4d\uff1a\u624b
Data.TradingAmountint\u6210\u4ea4\u989d \uff0c\u5355\u4f4d\uff1a\u5143
Data.Swingdouble\u632f\u5e45\uff0c\u5355\u4f4d\uff1a%
Data.TurnoverRatedouble\u6362\u624b\u7387 \uff0c\u5355\u4f4d\uff1a%

5. \u63a5\u53e3\u54cd\u5e94\u72b6\u6001\u7801

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u72b6\u6001\u7801\u72b6\u6001\u7801\u89e3\u91ca\u5907\u6ce8
100\u6b63\u5e38\u8fd4\u56de\u53ef\u901a\u8fc7\u5224\u65ad\u6b64\u72b6\u6001\u7801\u65ad\u8a00\u63a5\u53e3\u6b63\u5e38\u8fd4\u56de
-1\u8bf7\u6c42\u5931\u8d25\u8bf7\u6c42\u5904\u7406\u8bf7\u6c42\u5931\u8d25
501\u53c2\u6570\u9519\u8bef\u8bf7\u68c0\u67e5\u60a8\u4f20\u9012\u7684\u53c2\u6570\u4e2a\u6570\u4ee5\u53ca\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5339\u914d
502\u8bf7\u6c42\u9891\u7387\u53d7\u9650\u4e00\u822c\u5efa\u8bae\u6bcf\u79d2\u8bf7\u6c42\u4e0d\u8d85\u8fc7 100 \u6b21
503APPKEY \u6743\u9650\u8d85\u9650 /\u8ba2\u5355\u5230\u671f\u8bf7\u81f3\u5f00\u53d1\u8005\u4e2d\u5fc3\u68c0\u67e5\u60a8\u7684 APPKEY \u662f\u5426\u5230\u671f\u6216\u662f\u5426\u6743\u9650\u8d85\u9650
504APPKEY \u9519\u8bef\u8bf7\u68c0\u67e5\u4f20\u9012\u7684 APPKEY \u662f\u5426\u4e3a\u5f00\u53d1\u8005\u4e2d\u5fc3\u83b7\u53d6\u5230\u7684\u503c
505\u8bf7\u6c42\u7684\u6b21\u6570\u8d85\u51fa\u63a5\u53e3\u9650\u5236\u8bf7\u68c0\u67e5\u5bf9\u5e94\u63a5\u53e3\u662f\u5426\u6709\u8bf7\u6c42\u6b21\u6570\u9650\u5236\u4ee5\u53ca\u60a8\u76ee\u524d\u7684\u63a5\u53e3\u8bf7\u6c42\u5269\u4f59\u6b21\u6570
900\u63a5\u53e3\u5185\u90e8\u54cd\u5e94\u9519\u8bef\u63a5\u53e3\u53ef\u7528\u6027\u4e3a 99.999%\uff0c\u5982\u83b7\u53d6\u5230\u6b64\u72b6\u6001\u7801\u8bf7\u90ae\u4ef6\u8054\u7cfb\u6211\u4eec

6. \u5f00\u53d1\u8bed\u8a00\u8bf7\u6c42\u793a\u4f8b\u4ee3\u7801

\n

\u793a\u4f8b\u4ee3\u7801\u5305\u542b\u7684\u5f00\u53d1\u8bed\u8a00\uff1aC#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift \u7b49\uff0c\u5176\u4ed6\u8bed\u8a00\u8fdb\u884c\u5bf9\u5e94\u7684 RESTful API \u8bf7\u6c42\u5b9e\u73b0\u5373\u53ef\u3002

\n

\"image-20210629091827770\"

\n
\n

\u5495\u5495\u6570\u636e\uff0c\u4e13\u4e1a\u7684\u6570\u636e\u63d0\u4f9b\u5546\uff0c\u63d0\u4f9b\u4e13\u4e1a\u5168\u9762\u7684\u6570\u636e\u63a5\u53e3\u3001\u5546\u4e1a\u6570\u636e\u5206\u6790\uff0c\u8ba9\u6570\u636e\u6210\u4e3a\u60a8\u7684\u751f\u4ea7\u539f\u6599\u3002

\n

\"image-20200716141435988\"

\n

\u5495\u5495\u6570\u636e\u57fa\u4e8e\u6211\u4eec\u4e94\u5e74\u6765\u4e3a\u4f01\u4e1a\u5ba2\u6237\u63d0\u4f9b\u7684\u6d77\u91cf\u6570\u636e\u652f\u6491\uff0c\u5c06\u90e8\u5206\u901a\u7528\u6570\u636e\u3001\u901a\u7528\u529f\u80fd\u62bd\u8c61\u6210\u4ea7\u54c1\u7ea7 API \uff0c\u5927\u5927\u6ee1\u8db3\u4e86\u7528\u6237\u5728\u4ea7\u54c1\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5bf9\u57fa\u7840\u6570\u636e\u7684\u9700\u6c42\uff0c\u540c\u65f6\u964d\u4f4e\u4e86\u590d\u6742\u529f\u80fd\u7684\u5b9e\u73b0\u95e8\u69db\u4e0e\u4eba\u529b\u6210\u672c\u3002

\n

\u9664\u4e86\u6211\u4eec\u5df2\u5f00\u653e\u7684\u5206\u7c7b\u6570\u636e\u4e0e\u63a5\u53e3\u5916\uff0c\u8fd8\u6709\u6d77\u91cf\u6570\u636e\u6b63\u5728\u6574\u7406\u3001\u6e05\u6d17\u3001\u6574\u5408\u3001\u6784\u5efa\u4e2d\uff0c\u540e\u671f\u4f1a\u5f00\u653e\u66f4\u591a\u7684\u6570\u636e\u4e0e\u4e91\u7aef\u529f\u80fd\u63a5\u53e3\u4f9b\u7528\u6237\u4f7f\u7528\u3002

\n

\u76ee\u524d\u5df2\u5f00\u653e\u7684\u6570\u636e\u63a5\u53e3 API

\n\n" }, { "author": { "url": "member/Parry", "name": "Parry", "avatar": "https://cdn.v2ex.com/avatar/1474/7ce6/35923_large.png?m=1767146301" }, "url": "t/825664", "title": "A \u80a1\u5386\u5e74\u4e09\u5927\u8d22\u52a1\u62a5\u8868 API \u6570\u636e\u63a5\u53e3", "id": "t/825664", "date_published": "2022-01-01T07:50:01+00:00", "content_html": "

A \u80a1\u5386\u5e74\u4e09\u5927\u8d22\u52a1\u62a5\u8868

\n

\u5386\u5e74\u6240\u6709\u8d22\u62a5\u6570\u636e\uff0c\u5168\u91cf A \u80a1\u6570\u636e\uff0c\u6700\u5168\u4e09\u5927\u8d22\u62a5\u6570\u636e\u3002

\n

\"gugudata_api_cover\"

\n

1. \u4ea7\u54c1\u529f\u80fd

\n\n

2. API \u6587\u6863

\n

\u63a5\u53e3\u8be6\u60c5: https://www.gugudata.com/api/details/annualreport

\n

\u63a5\u53e3\u5730\u5740: https://api.gugudata.com/stock/cn/annualreport

\n

\u8fd4\u56de\u683c\u5f0f: application/json; charset=utf-8

\n

\u8bf7\u6c42\u65b9\u5f0f: GET

\n

\u8bf7\u6c42\u534f\u8bae: HTTPS

\n

\u8bf7\u6c42\u793a\u4f8b: https://api.gugudata.com/stock/cn/annualreport?appkey=YOUR_APPKEY&symbol=YOUR_VALUE&type=

\n

\u6570\u636e\u9884\u89c8: https://www.gugudata.com/preview/annualreport

\n

\u63a5\u53e3\u6d4b\u8bd5: https://api.gugudata.com/stock/cn/annualreport/demo

\n

3. \u8bf7\u6c42\u53c2\u6570\uff08\u5982\u679c\u4e3a POST \u8bf7\u6c42\uff0c\u90a3\u4e48\u53c2\u6570\u4ee5 JSON \u7684\u683c\u5f0f\u4f20\u9012\uff09

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5fc5\u987b\u9ed8\u8ba4\u503c\u5907\u6ce8
appkeystring\u662fYOUR_APPKEY\u4ed8\u8d39\u540e\u83b7\u53d6\u7684 APPKEY
symbolstring\u5426YOUR_VALUE\u4f20\u9012\u5355\u652f\u80a1\u7968\u4ee3\u7801\uff0c\u5982: 600031 \u3002\u53ef\u901a\u8fc7\u524d\u7f6e\u63a5\u53e3\u6216\u53c2\u89c1 A \u80a1\u80a1\u7968\u4ee3\u7801\u53c2\u6570\u679a\u4e3e\u9875\u9762
typestring\u662f\u4e09\u5927\u8d22\u62a5\u7c7b\u578b\uff0c\u53ef\u9009\u503c\u4e3a\uff1a\u8d44\u4ea7\u8d1f\u503a\u8868|\u5229\u6da6\u8868|\u73b0\u91d1\u6d41\u91cf\u8868

4. \u8fd4\u56de\u53c2\u6570

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53c2\u6570\u540d\u53c2\u6570\u7c7b\u578b\u5907\u6ce8
DataStatus.StatusCodeint\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u7801
DataStatus.StatusDescriptionstring\u63a5\u53e3\u8fd4\u56de\u72b6\u6001\u8bf4\u660e
DataStatus.ResponseDateTimestring\u63a5\u53e3\u6570\u636e\u8fd4\u56de\u65f6\u95f4
DataStatus.DataTotalCountint\u6b64\u6761\u4ef6\u4e0b\u7684\u603b\u6570\u636e\u91cf\uff0c\u4e00\u822c\u7528\u4e8e\u5206\u9875\u8ba1\u7b97
Data.columnsstring[]\u8d22\u62a5\u7684\u6570\u636e\u5217\u540d\u79f0\uff0c\u6ce8\u610f\u56e0\u4e3a\u8d22\u62a5\u6570\u636e\u5b57\u6bb5\u975e\u5e38\u591a\u4e14\u4e3a\u4e86\u4fdd\u8bc1\u8868\u8fbe\u7cbe\u51c6\u6027\uff0c\u8fd9\u91cc\u7684\u5b57\u6bb5\u8bf4\u660e\u4ee5\u4e2d\u6587\u8fdb\u884c\u8868\u8fbe\u3002
Data.datastring[][]\u5bf9\u5e94\u65f6\u95f4\u70b9\u7684\u5177\u4f53\u8d22\u62a5\u6570\u636e
Data.data.\u8d44\u4ea7\u8d1f\u503a\u8868string[]\u8d44\u4ea7\u8d1f\u503a\u8868.\u62a5\u8868\u65e5\u671f \u8d44\u4ea7\u8d1f\u503a\u8868.\u5355\u4f4d \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u73b0\u91d1\u53ca\u5b58\u653e\u4e2d\u592e\u94f6\u884c\u6b3e\u9879 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5b58\u653e\u540c\u4e1a\u6b3e\u9879 \u8d44\u4ea7\u8d1f\u503a\u8868.\u62c6\u51fa\u8d44\u91d1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d35\u91d1\u5c5e \u8d44\u4ea7\u8d1f\u503a\u8868.\u4ea4\u6613\u6027\u91d1\u878d\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u884d\u751f\u91d1\u878d\u5de5\u5177\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u4e70\u5165\u8fd4\u552e\u91d1\u878d\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u6536\u5229\u606f \u8d44\u4ea7\u8d1f\u503a\u8868.\u53d1\u653e\u8d37\u6b3e\u53ca\u57ab\u6b3e \u8d44\u4ea7\u8d1f\u503a\u8868.\u4ee3\u7406\u4e1a\u52a1\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u53ef\u4f9b\u51fa\u552e\u91d1\u878d\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u6301\u6709\u81f3\u5230\u671f\u6295\u8d44 \u8d44\u4ea7\u8d1f\u503a\u8868.\u957f\u671f\u80a1\u6743\u6295\u8d44 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u6536\u6295\u8d44\u6b3e\u9879 \u8d44\u4ea7\u8d1f\u503a\u8868.\u56fa\u5b9a\u8d44\u4ea7\u5408\u8ba1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u65e0\u5f62\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5546\u8a89 \u8d44\u4ea7\u8d1f\u503a\u8868.\u9012\u5ef6\u7a0e\u6b3e\u501f\u9879 \u8d44\u4ea7\u8d1f\u503a\u8868.\u6295\u8d44\u6027\u623f\u5730\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4ed6\u8d44\u4ea7 \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d44\u4ea7\u603b\u8ba1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u5411\u4e2d\u592e\u94f6\u884c\u501f\u6b3e \u8d44\u4ea7\u8d1f\u503a\u8868.\u540c\u4e1a\u5b58\u5165\u53ca\u62c6\u5165 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4e2d:\u540c\u4e1a\u5b58\u653e\u6b3e\u9879 \u8d44\u4ea7\u8d1f\u503a\u8868.\u62c6\u5165\u8d44\u91d1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u884d\u751f\u91d1\u878d\u5de5\u5177\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u4ea4\u6613\u6027\u91d1\u878d\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u5356\u51fa\u56de\u8d2d\u91d1\u878d\u8d44\u4ea7\u6b3e \u8d44\u4ea7\u8d1f\u503a\u8868.\u5ba2\u6237\u5b58\u6b3e(\u5438\u6536\u5b58\u6b3e) \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u4ed8\u804c\u5de5\u85aa\u916c \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u4ea4\u7a0e\u8d39 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u4ed8\u5229\u606f \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u4ed8\u8d26\u6b3e \u8d44\u4ea7\u8d1f\u503a\u8868.\u4ee3\u7406\u4e1a\u52a1\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u5e94\u4ed8\u503a\u5238 \u8d44\u4ea7\u8d1f\u503a\u8868.\u9012\u5ef6\u6240\u5f97\u7a0e\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u9884\u8ba1\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4ed6\u8d1f\u503a \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d1f\u503a\u5408\u8ba1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u6240\u6709\u8005\u6743\u76ca \u8d44\u4ea7\u8d1f\u503a\u8868.\u80a1\u672c \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4ed6\u6743\u76ca\u5de5\u5177 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4e2d\uff1a\u4f18\u5148\u80a1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d44\u672c\u516c\u79ef \u8d44\u4ea7\u8d1f\u503a\u8868.\u51cf:\u5e93\u85cf\u80a1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4ed6\u7efc\u5408\u6536\u76ca \u8d44\u4ea7\u8d1f\u503a\u8868.\u76c8\u4f59\u516c\u79ef \u8d44\u4ea7\u8d1f\u503a\u8868.\u672a\u5206\u914d\u5229\u6da6 \u8d44\u4ea7\u8d1f\u503a\u8868.\u4e00\u822c\u98ce\u9669\u51c6\u5907 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5916\u5e01\u62a5\u8868\u6298\u7b97\u5dee\u989d \u8d44\u4ea7\u8d1f\u503a\u8868.\u5176\u4ed6\u50a8\u5907 \u8d44\u4ea7\u8d1f\u503a\u8868.\u5f52\u5c5e\u4e8e\u6bcd\u516c\u53f8\u80a1\u4e1c\u7684\u6743\u76ca \u8d44\u4ea7\u8d1f\u503a\u8868.\u5c11\u6570\u80a1\u4e1c\u6743\u76ca \u8d44\u4ea7\u8d1f\u503a\u8868.\u80a1\u4e1c\u6743\u76ca\u5408\u8ba1 \u8d44\u4ea7\u8d1f\u503a\u8868.\u8d1f\u503a\u53ca\u80a1\u4e1c\u6743\u76ca\u603b\u8ba1
Data.data.\u5229\u6da6\u8868string[]\u5229\u6da6\u8868.\u62a5\u8868\u65e5\u671f \u5229\u6da6\u8868.\u5355\u4f4d \u5229\u6da6\u8868.\u4e00\u3001\u8425\u4e1a\u6536\u5165 \u5229\u6da6\u8868.\u5229\u606f\u51c0\u6536\u5165 \u5229\u6da6\u8868.\u5176\u4e2d\uff1a\u5229\u606f\u6536\u5165 \u5229\u6da6\u8868.\u51cf\uff1a\u5229\u606f\u652f\u51fa \u5229\u6da6\u8868.\u624b\u7eed\u8d39\u53ca\u4f63\u91d1\u51c0\u6536\u5165 \u5229\u6da6\u8868.\u5176\u4e2d:\u624b\u7eed\u8d39\u53ca\u4f63\u91d1\u6536\u5165 \u5229\u6da6\u8868.\u51cf\uff1a\u624b\u7eed\u8d39\u53ca\u4f63\u91d1\u652f\u51fa \u5229\u6da6\u8868.\u6c47\u5151\u6536\u76ca \u5229\u6da6\u8868.\u6295\u8d44\u51c0\u6536\u76ca \u5229\u6da6\u8868.\u5176\u4e2d:\u5bf9\u8054\u8425\u516c\u53f8\u7684\u6295\u8d44\u6536\u76ca \u5229\u6da6\u8868.\u516c\u5141\u4ef7\u503c\u53d8\u52a8\u51c0\u6536\u76ca \u5229\u6da6\u8868.\u5176\u4ed6\u4e1a\u52a1\u6536\u5165 \u5229\u6da6\u8868.\u4e8c\u3001\u8425\u4e1a\u652f\u51fa \u5229\u6da6\u8868.\u8425\u4e1a\u7a0e\u91d1\u53ca\u9644\u52a0 \u5229\u6da6\u8868.\u4e1a\u52a1\u53ca\u7ba1\u7406\u8d39\u7528 \u5229\u6da6\u8868.\u7814\u53d1\u8d39\u7528 \u5229\u6da6\u8868.\u8d44\u4ea7\u51cf\u503c\u635f\u5931 \u5229\u6da6\u8868.\u5176\u4ed6\u4e1a\u52a1\u652f\u51fa \u5229\u6da6\u8868.\u4e09\u3001\u8425\u4e1a\u5229\u6da6 \u5229\u6da6\u8868.\u52a0:\u8425\u4e1a\u5916\u6536\u5165 \u5229\u6da6\u8868.\u51cf:\u8425\u4e1a\u5916\u652f\u51fa \u5229\u6da6\u8868.\u56db\u3001\u5229\u6da6\u603b\u989d \u5229\u6da6\u8868.\u51cf:\u6240\u5f97\u7a0e \u5229\u6da6\u8868.\u4e94\u3001\u51c0\u5229\u6da6 \u5229\u6da6\u8868.\u5f52\u5c5e\u4e8e\u6bcd\u516c\u53f8\u7684\u51c0\u5229\u6da6 \u5229\u6da6\u8868.\u5c11\u6570\u80a1\u4e1c\u6743\u76ca \u5229\u6da6\u8868.\u516d\u3001\u6bcf\u80a1\u6536\u76ca \u5229\u6da6\u8868.\u57fa\u672c\u6bcf\u80a1\u6536\u76ca(\u5143 /\u80a1) \u5229\u6da6\u8868.\u7a00\u91ca\u6bcf\u80a1\u6536\u76ca(\u5143 /\u80a1) \u5229\u6da6\u8868.\u4e03\u3001\u5176\u4ed6\u7efc\u5408\u6536\u76ca \u5229\u6da6\u8868.\u516b\u3001\u7efc\u5408\u6536\u76ca\u603b\u989d \u5229\u6da6\u8868.\u5f52\u5c5e\u4e8e\u6bcd\u516c\u53f8\u6240\u6709\u8005\u7684\u7efc\u5408\u6536\u76ca\u603b\u989d \u5229\u6da6\u8868.\u5f52\u5c5e\u4e8e\u5c11\u6570\u80a1\u4e1c\u7684\u7efc\u5408\u6536\u76ca\u603b\u989d
Data.data.\u73b0\u91d1\u6d41\u91cf\u8868string[]\u73b0\u91d1\u6d41\u91cf\u8868.\u62a5\u8868\u65e5\u671f \u73b0\u91d1\u6d41\u91cf\u8868.\u5355\u4f4d \u73b0\u91d1\u6d41\u91cf\u8868.\u4e00\u3001\u7ecf\u8425\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf \u73b0\u91d1\u6d41\u91cf\u8868.\u5ba2\u6237\u5b58\u6b3e\u548c\u540c\u4e1a\u5b58\u653e\u6b3e\u9879\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u5411\u592e\u884c\u501f\u6b3e\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u5411\u5176\u4ed6\u91d1\u878d\u673a\u6784\u62c6\u5165\u8d44\u91d1\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u53d6\u5229\u606f\u3001\u624b\u7eed\u8d39\u53ca\u4f63\u91d1\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u5230\u5176\u4ed6\u4e0e\u7ecf\u8425\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6d3b\u52a8\u73b0\u91d1\u6d41\u5165\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u5ba2\u6237\u8d37\u6b3e\u53ca\u57ab\u6b3e\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u5b58\u653e\u4e2d\u592e\u94f6\u884c\u548c\u540c\u4e1a\u6b3e\u9879\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u7ed9\u804c\u5de5\u4ee5\u53ca\u4e3a\u804c\u5de5\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u7684\u5404\u9879\u7a0e\u8d39 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u5176\u4ed6\u4e0e\u7ecf\u8425\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u5229\u606f\u3001\u624b\u7eed\u8d39\u53ca\u4f63\u91d1\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6d3b\u52a8\u73b0\u91d1\u6d41\u51fa\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf\u51c0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u4e8c\u3001\u6295\u8d44\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u56de\u6295\u8d44\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u53d6\u5f97\u6295\u8d44\u6536\u76ca\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u5904\u7f6e\u56fa\u5b9a\u8d44\u4ea7\u3001\u65e0\u5f62\u8d44\u4ea7\u53ca\u5176\u4ed6\u8d44\u4ea7\u800c\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u53d6\u5f97\u5b50\u516c\u53f8\u53ca\u5176\u4ed6\u8425\u4e1a\u5355\u4f4d\u6240\u6536\u5230\u7684\u73b0\u91d1\u51c0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u5230\u5176\u4ed6\u4e0e\u6295\u8d44\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u6d3b\u52a8\u73b0\u91d1\u6d41\u5165\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u8d2d\u5efa\u56fa\u5b9a\u8d44\u4ea7\u3001\u65e0\u5f62\u8d44\u4ea7\u548c\u5176\u4ed6\u957f\u671f\u8d44\u4ea7\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u7684\u5176\u4ed6\u4e0e\u6295\u8d44\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u6d3b\u52a8\u73b0\u91d1\u6d41\u51fa\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf\u51c0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u4e09\u3001\u7b79\u8d44\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf \u73b0\u91d1\u6d41\u91cf\u8868.\u5438\u6536\u6295\u8d44\u6240\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u53d1\u884c\u8bc1\u5238\u5316\u8d44\u4ea7\u6240\u5438\u6536\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u53d1\u884c\u503a\u5238\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u589e\u52a0\u80a1\u672c\u6240\u6536\u5230\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u5230\u5176\u4ed6\u4e0e\u7b79\u8d44\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7b79\u8d44\u6d3b\u52a8\u73b0\u91d1\u6d41\u5165\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u507f\u8fd8\u503a\u52a1\u6240\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u5206\u914d\u80a1\u5229\u3001\u5229\u6da6\u6216\u507f\u4ed8\u5229\u606f\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u5176\u4e2d:\u507f\u4ed8\u5229\u606f\u6240\u652f\u4ed8\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u65b0\u80a1\u53d1\u884c\u8d39\u7528 \u73b0\u91d1\u6d41\u91cf\u8868.\u652f\u4ed8\u5176\u4ed6\u4e0e\u7b79\u8d44\u6d3b\u52a8\u6709\u5173\u7684\u73b0\u91d1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7b79\u8d44\u6d3b\u52a8\u73b0\u91d1\u6d41\u51fa\u5c0f\u8ba1 \u73b0\u91d1\u6d41\u91cf\u8868.\u7b79\u8d44\u6d3b\u52a8\u4ea7\u751f\u7684\u73b0\u91d1\u6d41\u91cf\u51c0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u56db\u3001\u6c47\u7387\u53d8\u52a8\u5bf9\u73b0\u91d1\u53ca\u73b0\u91d1\u7b49\u4ef7\u7269\u7684\u5f71\u54cd \u73b0\u91d1\u6d41\u91cf\u8868.\u4e94\u3001\u73b0\u91d1\u53ca\u73b0\u91d1\u7b49\u4ef7\u7269\u51c0\u589e\u52a0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u52a0:\u671f\u521d\u73b0\u91d1\u53ca\u73b0\u91d1\u7b49\u4ef7\u7269\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u516d\u3001\u671f\u672b\u73b0\u91d1\u53ca\u73b0\u91d1\u7b49\u4ef7\u7269\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u9644\u6ce8 \u73b0\u91d1\u6d41\u91cf\u8868.\u51c0\u5229\u6da6 \u73b0\u91d1\u6d41\u91cf\u8868.\u52a0:\u5c11\u6570\u80a1\u4e1c\u6536\u76ca \u73b0\u91d1\u6d41\u91cf\u8868.\u8ba1\u63d0\u7684\u8d44\u4ea7\u51cf\u503c\u51c6\u5907 \u73b0\u91d1\u6d41\u91cf\u8868.\u5176\u4e2d\uff1a\u8ba1\u63d0\u7684\u574f\u8d26\u51c6\u5907 \u73b0\u91d1\u6d41\u91cf\u8868.\u8ba1\u63d0\u7684\u8d37\u6b3e\u635f\u5931\u51c6\u5907 \u73b0\u91d1\u6d41\u91cf\u8868.\u51b2\u56de\u5b58\u653e\u540c\u4e1a\u51cf\u503c\u51c6\u5907 \u73b0\u91d1\u6d41\u91cf\u8868.\u56fa\u5b9a\u8d44\u4ea7\u6298\u65e7\u3001\u6cb9\u6c14\u8d44\u4ea7\u6298\u8017\u3001\u751f\u4ea7\u6027\u751f\u7269\u8d44\u4ea7\u6298\u65e7 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u6027\u623f\u5730\u4ea7\u6298\u65e7 \u73b0\u91d1\u6d41\u91cf\u8868.\u65e0\u5f62\u8d44\u4ea7\u3001\u9012\u5ef6\u8d44\u4ea7\u53ca\u5176\u4ed6\u8d44\u4ea7\u7684\u644a\u9500 \u73b0\u91d1\u6d41\u91cf\u8868.\u5176\u4e2d:\u65e0\u5f62\u8d44\u4ea7\u644a\u9500 \u73b0\u91d1\u6d41\u91cf\u8868.\u957f\u671f\u5f85\u644a\u8d39\u7528\u644a\u9500 \u73b0\u91d1\u6d41\u91cf\u8868.\u957f\u671f\u8d44\u4ea7\u644a\u9500 \u73b0\u91d1\u6d41\u91cf\u8868.\u5904\u7f6e\u56fa\u5b9a\u8d44\u4ea7\u3001\u65e0\u5f62\u8d44\u4ea7\u548c\u5176\u4ed6\u957f\u671f\u4ea7\u7684\u635f\u5931 /(\u6536\u76ca) \u73b0\u91d1\u6d41\u91cf\u8868.\u5904\u7f6e\u6295\u8d44\u6027\u623f\u5730\u4ea7\u7684\u635f\u5931 /(\u6536\u76ca) \u73b0\u91d1\u6d41\u91cf\u8868.\u56fa\u5b9a\u8d44\u4ea7\u62a5\u5e9f\u635f\u5931 \u73b0\u91d1\u6d41\u91cf\u8868.\u8d22\u52a1\u8d39\u7528 \u73b0\u91d1\u6d41\u91cf\u8868.\u6295\u8d44\u635f\u5931(\u51cf:\u6536\u76ca) \u73b0\u91d1\u6d41\u91cf\u8868.\u516c\u5141\u4ef7\u503c\u53d8\u52a8(\u6536\u76ca)/\u635f\u5931 \u73b0\u91d1\u6d41\u91cf\u8868.\u6c47\u5151\u635f\u76ca \u73b0\u91d1\u6d41\u91cf\u8868.\u884d\u751f\u91d1\u878d\u5de5\u5177\u4ea4\u6613\u51c0\u635f\u76ca \u73b0\u91d1\u6d41\u91cf\u8868.\u6298\u73b0\u56de\u62d4(\u51cf\u503c\u8d44\u4ea7\u5229\u606f\u51b2\u8f6c) \u73b0\u91d1\u6d41\u91cf\u8868.\u5b58\u8d27\u7684\u51cf\u5c11 \u73b0\u91d1\u6d41\u91cf\u8868.\u8d37\u6b3e\u7684\u51cf\u5c11 \u73b0\u91d1\u6d41\u91cf\u8868.\u5b58\u6b3e\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u62c6\u501f\u6b3e\u9879\u7684\u51c0\u589e \u73b0\u91d1\u6d41\u91cf\u8868.\u91d1\u878d\u6027\u8d44\u4ea7\u7684\u51cf\u5c11 \u73b0\u91d1\u6d41\u91cf\u8868.\u9884\u8ba1\u8d1f\u503a\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u6536\u5230\u5df2\u6838\u9500\u6b3e\u9879 \u73b0\u91d1\u6d41\u91cf\u8868.\u9012\u5ef6\u6240\u5f97\u7a0e\u8d44\u4ea7\u7684\u51cf\u5c11 \u73b0\u91d1\u6d41\u91cf\u8868.\u9012\u5ef6\u6240\u5f97\u7a0e\u8d1f\u503a\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6027\u5e94\u6536\u9879\u76ee\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6027\u5e94\u4ed8\u9879\u76ee\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6027\u5176\u4ed6\u8d44\u4ea7\u7684\u51cf\u5c11 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6027\u5176\u4ed6\u8d1f\u503a\u7684\u589e\u52a0 \u73b0\u91d1\u6d41\u91cf\u8868.\u5176\u4ed6 \u73b0\u91d1\u6d41\u91cf\u8868.\u7ecf\u8425\u6d3b\u52a8\u73b0\u91d1\u6d41\u91cf\u51c0\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u4ee5\u56fa\u5b9a\u8d44\u4ea7\u507f\u8fd8\u503a\u52a1 \u73b0\u91d1\u6d41\u91cf\u8868.\u4ee5\u6295\u8d44\u507f\u8fd8\u503a\u52a1 \u73b0\u91d1\u6d41\u91cf\u8868.\u4ee5\u56fa\u5b9a\u8d44\u4ea7\u8fdb\u884c\u6295\u8d44 \u73b0\u91d1\u6d41\u91cf\u8868.\u503a\u52a1\u8f6c\u4e3a\u8d44\u672c \u73b0\u91d1\u6d41\u91cf\u8868.\u4e00\u5e74\u5185\u5230\u671f\u7684\u53ef\u8f6c\u6362\u516c\u53f8\u503a\u5238 \u73b0\u91d1\u6d41\u91cf\u8868.\u878d\u8d44\u79df\u5165\u56fa\u5b9a\u8d44\u4ea7 \u73b0\u91d1\u6d41\u91cf\u8868.\u5176\u4ed6\u4e0d\u6d89\u53ca\u73b0\u91d1\u6536\u652f\u7684\u6295\u8d44\u548c\u7b79\u8d44\u6d3b\u52a8\u91d1\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u73b0\u91d1\u7684\u671f\u672b\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u51cf:\u73b0\u91d1\u7684\u671f\u521d\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u73b0\u91d1\u7b49\u4ef7\u7269\u7684\u671f\u672b\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u51cf\uff1a\u73b0\u91d1\u7b49\u4ef7\u7269\u7684\u671f\u521d\u4f59\u989d \u73b0\u91d1\u6d41\u91cf\u8868.\u73b0\u91d1\u53ca\u73b0\u91d1\u7b49\u4ef7\u7269\u51c0\u589e\u52a0\u989d

5. \u63a5\u53e3\u54cd\u5e94\u72b6\u6001\u7801

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u72b6\u6001\u7801\u72b6\u6001\u7801\u89e3\u91ca\u5907\u6ce8
100\u6b63\u5e38\u8fd4\u56de\u53ef\u901a\u8fc7\u5224\u65ad\u6b64\u72b6\u6001\u7801\u65ad\u8a00\u63a5\u53e3\u6b63\u5e38\u8fd4\u56de
-1\u8bf7\u6c42\u5931\u8d25\u8bf7\u6c42\u5904\u7406\u8bf7\u6c42\u5931\u8d25
501\u53c2\u6570\u9519\u8bef\u8bf7\u68c0\u67e5\u60a8\u4f20\u9012\u7684\u53c2\u6570\u4e2a\u6570\u4ee5\u53ca\u53c2\u6570\u7c7b\u578b\u662f\u5426\u5339\u914d
502\u8bf7\u6c42\u9891\u7387\u53d7\u9650\u4e00\u822c\u5efa\u8bae\u6bcf\u79d2\u8bf7\u6c42\u4e0d\u8d85\u8fc7 100 \u6b21
503APPKEY \u6743\u9650\u8d85\u9650 /\u8ba2\u5355\u5230\u671f\u8bf7\u81f3\u5f00\u53d1\u8005\u4e2d\u5fc3\u68c0\u67e5\u60a8\u7684 APPKEY \u662f\u5426\u5230\u671f\u6216\u662f\u5426\u6743\u9650\u8d85\u9650
504APPKEY \u9519\u8bef\u8bf7\u68c0\u67e5\u4f20\u9012\u7684 APPKEY \u662f\u5426\u4e3a\u5f00\u53d1\u8005\u4e2d\u5fc3\u83b7\u53d6\u5230\u7684\u503c
505\u8bf7\u6c42\u7684\u6b21\u6570\u8d85\u51fa\u63a5\u53e3\u9650\u5236\u8bf7\u68c0\u67e5\u5bf9\u5e94\u63a5\u53e3\u662f\u5426\u6709\u8bf7\u6c42\u6b21\u6570\u9650\u5236\u4ee5\u53ca\u60a8\u76ee\u524d\u7684\u63a5\u53e3\u8bf7\u6c42\u5269\u4f59\u6b21\u6570
900\u63a5\u53e3\u5185\u90e8\u54cd\u5e94\u9519\u8bef\u63a5\u53e3\u53ef\u7528\u6027\u4e3a 99.999%\uff0c\u5982\u83b7\u53d6\u5230\u6b64\u72b6\u6001\u7801\u8bf7\u90ae\u4ef6\u8054\u7cfb\u6211\u4eec

6. \u5f00\u53d1\u8bed\u8a00\u8bf7\u6c42\u793a\u4f8b\u4ee3\u7801

\n

\u793a\u4f8b\u4ee3\u7801\u5305\u542b\u7684\u5f00\u53d1\u8bed\u8a00\uff1aC#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift \u7b49\uff0c\u5176\u4ed6\u8bed\u8a00\u8fdb\u884c\u5bf9\u5e94\u7684 RESTful API \u8bf7\u6c42\u5b9e\u73b0\u5373\u53ef\u3002

\n

\"image-20210629091827770\"

\n
\n

\u5495\u5495\u6570\u636e\uff0c\u4e13\u4e1a\u7684\u6570\u636e\u63d0\u4f9b\u5546\uff0c\u63d0\u4f9b\u4e13\u4e1a\u5168\u9762\u7684\u6570\u636e\u63a5\u53e3\u3001\u5546\u4e1a\u6570\u636e\u5206\u6790\uff0c\u8ba9\u6570\u636e\u6210\u4e3a\u60a8\u7684\u751f\u4ea7\u539f\u6599\u3002

\n

\"image-20200716141435988\"

\n

\u5495\u5495\u6570\u636e\u57fa\u4e8e\u6211\u4eec\u4e03\u5e74\u6765\u4e3a\u4f01\u4e1a\u5ba2\u6237\u63d0\u4f9b\u7684\u6d77\u91cf\u6570\u636e\u652f\u6491\uff0c\u5c06\u90e8\u5206\u901a\u7528\u6570\u636e\u3001\u901a\u7528\u529f\u80fd\u62bd\u8c61\u6210\u4ea7\u54c1\u7ea7 API \uff0c\u5927\u5927\u6ee1\u8db3\u4e86\u7528\u6237\u5728\u4ea7\u54c1\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5bf9\u57fa\u7840\u6570\u636e\u7684\u9700\u6c42\uff0c\u540c\u65f6\u964d\u4f4e\u4e86\u590d\u6742\u529f\u80fd\u7684\u5b9e\u73b0\u95e8\u69db\u4e0e\u4eba\u529b\u6210\u672c\u3002

\n

\u9664\u4e86\u6211\u4eec\u5df2\u5f00\u653e\u7684\u5206\u7c7b\u6570\u636e\u4e0e\u63a5\u53e3\u5916\uff0c\u8fd8\u6709\u6d77\u91cf\u6570\u636e\u6b63\u5728\u6574\u7406\u3001\u6e05\u6d17\u3001\u6574\u5408\u3001\u6784\u5efa\u4e2d\uff0c\u540e\u671f\u4f1a\u5f00\u653e\u66f4\u591a\u7684\u6570\u636e\u4e0e\u4e91\u7aef\u529f\u80fd\u63a5\u53e3\u4f9b\u7528\u6237\u4f7f\u7528\u3002

\n

\u76ee\u524d\u5df2\u5f00\u653e\u7684\u6570\u636e\u63a5\u53e3 API

\n\n" } ] } ubao msn 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