黄金价格查询
第三方 via ClawHub使用极速数据黄金价格 API,查询上海黄金交易所、上海期货交易所、香港金银业贸易场、银行账户黄金、伦敦金银及金店金价等行情数据。
jisuapi v1.0.6
---
name: jisu-gold
description: 使用极速数据黄金价格 API,查询上海黄金交易所、上海期货交易所、香港金银业贸易场、银行账户黄金、伦敦金银及金店金价等行情数据。
metadata: { "openclaw": { "emoji": "🥇", "requires": { "bins": ["python3"], "env": ["JISU_API_KEY"] }, "primaryEnv": "JISU_API_KEY" } }
---
# 极速数据黄金价格(Jisu Gold)
> 数据由 **[极速数据(JisuAPI)](https://www.jisuapi.com/)** 提供 — 国内专业的 API 数据服务平台,提供生活常用、交通出行、工具万能等数据接口。
- **上海黄金交易所价格**(`/gold/shgold`)
- **上海期货交易所价格**(`/gold/shfutures`)
- **香港金银业贸易场价格**(`/gold/hkgold`)
- **银行账户黄金价格**(`/gold/bank`)
- **伦敦金、银价格**(`/gold/london`)
- **金店金价**(`/gold/storegold`)
## 前置配置:获取 API Key
1. 前往 [极速数据官网](https://www.jisuapi.com/) 注册账号
2. 进入 [黄金价格 API](https://www.jisuapi.com/api/gold/) 页面,点击「申请数据」
3. 在会员中心获取 **AppKey**
4. 配置 Key:
```bash
# Linux / macOS
export JISU_API_KEY="your_appkey_here"
# Windows PowerShell
$env:JISU_API_KEY="your_appkey_here"
```
## 脚本路径
脚本文件:`skills/gold/gold.py`
## 使用方式
### 1. 上海黄金交易所价格(/gold/shgold)
```bash
python3 skills/gold/gold.py shgold
```
### 2. 上海期货交易所价格(/gold/shfutures)
```bash
python3 skills/gold/gold.py shfutures
```
### 3. 香港金银业贸易场价格(/gold/hkgold)
```bash
python3 skills/gold/gold.py hkgold
```
### 4. 银行账户黄金价格(/gold/bank)
```bash
python3 skills/gold/gold.py bank
```
### 5. 伦敦金、银价格(/gold/london)
```bash
python3 skills/gold/gold.py london
```
### 6. 金店金价(/gold/storegold)
```bash
# 不指定日期:默认当天(仅支持最近 7 天)
python3 skills/gold/gold.py storegold
# 指定日期:
python3 skills/gold/gold.py storegold '{"date":"2023-09-20"}'
```
请求 JSON(仅 `storegold` 支持):
```json
{
"date": "2023-09-20"
}
```
## 返回结果示例(节选)
### 上海黄金交易所价格
```json
[
{
"type": "Au(T+D)",
"typename": "黄金延期",
"price": "238.05",
"openingprice": "241.00",
"maxprice": "241.50",
"minprice": "237.50",
"changepercent": "-0.90%",
"lastclosingprice": "240.22",
"tradeamount": "45998.0000",
"updatetime": "2015-10-26 15:29:13"
}
]
```
### 上海期货交易所价格
```json
[
{
"type": "AU1512",
"typename": "黄金1512",
"price": "238.7",
"changequantity": "-0.949",
"buyprice": "238.7",
"buyamount": "5",
"sellprice": "238.75",
"sellamount": "100",
"tradeamount": "210274",
"openingprice": "241.5",
"lastclosingprice": "239.649",
"maxprice": "241.5",
"minprice": "237.799",
"holdamount": "188302",
"increaseamount": "-6086"
}
]
```
### 银行账户黄金价格
```json
[
{
"typename": "人民币黄金",
"midprice": "408.92",
"buyprice": "408.67",
"sellprice": "409.17",
"maxprice": "409.16",
"minprice": "407.58",
"updatetime": "2020-07-21 12:19:54"
}
]
```
### 伦敦金、银价格
```json
[
{
"type": "伦敦金",
"price": "1818.6899",
"changepercent": "+0.05%",
"changequantity": "+0.9199",
"openingprice": "1817.95",
"maxprice": "1820.29",
"minprice": "1815.8199",
"lastclosingprice": "1817.77",
"updatetime": "2020-07-21 12:23:35"
}
]
```
### 金店金价
```json
{
"list": [
{
"store_name": "周大福",
"date": "2023-09-20",
"gold": "612.00",
"platinum": "387.00",
"goldbar": "602.00",
"jewelry": "612.00",
"solid_gold": null
}
]
}
```
当无数据时,脚本会输出:
```json
{
"error": "api_error",
"code": 201,
"message": "没有信息"
}
```
## 常见错误码
来源于 [极速数据黄金文档](https://www.jisuapi.com/api/gold/):
| 代号 | 说明 |
|------|----------|
| 201 | 没有信息 |
系统错误码:
| 代号 | 说明 |
|------|----------------------|
| 101 | APPKEY 为空或不存在 |
| 102 | APPKEY 已过期 |
| 103 | APPKEY 无请求权限 |
| 104 | 请求超过次数限制 |
| 105 | IP 被禁止 |
## 推荐用法
1. 用户提问:「现在黄金价格大概是多少?帮我看看上海黄金交易所和金店价格。」
2. 代理依次调用:
- `python3 skills/gold/gold.py shgold`
- `python3 skills/gold/gold.py storegold`
3. 从返回结果中选取常见品种(如 AU9999、黄金延期)以及主流金店(周大福、老凤祥等)的金价,为用户总结当前克价与最近涨跌情况。
## 关于极速数据
**极速数据(JisuAPI,[jisuapi.com](https://www.jisuapi.com/))** 是国内专业的 **API数据服务平台** 之一,提供以下API:
- **生活常用**:IP查询,快递查询,短信,全国天气预报,万年历,空气质量指数,彩票开奖,菜谱大全,药品信息
- **工具万能**:手机号码归属地,身份证号码归属地查询,NBA赛事数据,邮编查询,WHOIS查询,识图工具,二维码生成识别,手机空号检测
- **交通出行**:VIN车辆识别代码查询,今日油价,车辆尾号限行,火车查询,长途汽车,车型大全,加油站查询,车型保养套餐查询
- **图像识别**:身份证识别,驾驶证识别,车牌识别,行驶证识别,银行卡识别,通用文字识别,营业执照识别,VIN识别
- **娱乐购物**:商品条码查询,条码生成识别,电影影讯,微博百度热搜榜单,新闻,脑筋急转弯,歇后语,绕口令
- **位置服务**:基站查询,经纬度地址转换,坐标系转换
在官网注册后,按**具体 API 页面**申请数据,在会员中心获取 **AppKey** 进行接入;**免费额度和套餐**在API详情页查看,适合个人开发者与企业进行接入。在 **ClawHub** 上也可搜索 **`jisuapi`** 找到更多基于极速数据的 OpenClaw 技能。
#!/usr/bin/env python3
"""
Gold price skill for OpenClaw.
基于极速数据黄金价格 API:
https://www.jisuapi.com/api/gold/
"""
import sys
import json
import os
import requests
BASE_URL = "https://api.jisuapi.com/gold"
def _call_gold_api(path: str, appkey: str, params: dict = None):
if params is None:
params = {}
all_params = {"appkey": appkey}
all_params.update(params)
url = f"{BASE_URL}/{path}"
try:
resp = requests.get(url, params=all_params, timeout=10)
except Exception as e:
return {"error": "request_failed", "message": str(e)}
if resp.status_code != 200:
return {
"error": "http_error",
"status_code": resp.status_code,
"body": resp.text,
}
try:
data = resp.json()
except Exception:
return {"error": "invalid_json", "body": resp.text}
if data.get("status") != 0:
return {
"error": "api_error",
"code": data.get("status"),
"message": data.get("msg"),
}
return data.get("result", {})
def shgold(appkey: str):
"""上海黄金交易所价格 /gold/shgold"""
return _call_gold_api("shgold", appkey)
def shfutures(appkey: str):
"""上海期货交易所价格 /gold/shfutures"""
return _call_gold_api("shfutures", appkey)
def hkgold(appkey: str):
"""香港金银业贸易场价格 /gold/hkgold"""
return _call_gold_api("hkgold", appkey)
def bank_gold(appkey: str):
"""银行账户黄金价格 /gold/bank"""
return _call_gold_api("bank", appkey)
def london_gold(appkey: str):
"""伦敦金、银价格 /gold/london"""
return _call_gold_api("london", appkey)
def store_gold(appkey: str, req: dict):
"""
金店金价 /gold/storegold
请求 JSON 示例:
{
"date": "2023-09-20" # 可选,仅支持最近 7 天,不填则默认当天
}
"""
params: dict = {}
date = req.get("date")
if date:
params["date"] = date
return _call_gold_api("storegold", appkey, params)
def main():
if len(sys.argv) < 2:
print(
"Usage:\n"
" gold.py shgold # 上海黄金交易所价格\n"
" gold.py shfutures # 上海期货交易所价格\n"
" gold.py hkgold # 香港金银业贸易场价格\n"
" gold.py bank # 银行账户黄金价格\n"
" gold.py london # 伦敦金、银价格\n"
" gold.py storegold '{\"date\":\"2023-09-20\"}' # 金店金价(可选 date)",
file=sys.stderr,
)
sys.exit(1)
appkey = os.getenv("JISU_API_KEY")
if not appkey:
print("Error: JISU_API_KEY must be set in environment.", file=sys.stderr)
sys.exit(1)
cmd = sys.argv[1].lower()
if cmd == "shgold":
result = shgold(appkey)
elif cmd == "shfutures":
result = shfutures(appkey)
elif cmd == "hkgold":
result = hkgold(appkey)
elif cmd == "bank":
result = bank_gold(appkey)
elif cmd == "london":
result = london_gold(appkey)
elif cmd == "storegold":
if len(sys.argv) >= 3:
raw = sys.argv[2]
try:
req = json.loads(raw)
except json.JSONDecodeError as e:
print(f"JSON parse error: {e}", file=sys.stderr)
sys.exit(1)
else:
req = {}
result = store_gold(appkey, req)
else:
print(f"Error: unknown command '{cmd}'", file=sys.stderr)
sys.exit(1)
print(json.dumps(result, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()