旅游网站建设合同佛山企业网站开发公司
2026/2/5 2:47:11 网站建设 项目流程
旅游网站建设合同,佛山企业网站开发公司,搭建好网站如何使用,定州建设厅网站一、核心前提#xff1a;1688 开放平台接入#xff08;必须完成#xff09; 这是所有接口调用的基础#xff0c;没有完成这一步#xff0c;后续代码无法正常运行。 步骤 1#xff1a;注册并实名认证开发者账号 访问1688 开放平台官网#xff0c;点击右上角「注册 / 登…一、核心前提1688 开放平台接入必须完成这是所有接口调用的基础没有完成这一步后续代码无法正常运行。步骤 1注册并实名认证开发者账号访问1688 开放平台官网点击右上角「注册 / 登录」使用支付宝或淘宝账号登录。登录后进入「开发者中心」完成实名认证个人 / 企业均可个人认证上传身份证正反面完成人脸核验1-2 个工作日审核通过。企业认证上传营业执照、法人信息审核周期稍长1-3 个工作日。注意未完成实名认证的账号无法创建应用和调用任何接口。步骤 2创建应用获取接口凭证实名认证通过后在开发者中心点击「应用管理」→「创建应用」。填写应用信息应用名称自定义如「1688 类目查询工具」、应用描述、应用类型选择「工具应用」或「第三方应用」个人开发者选「工具应用」即可。提交应用后等待平台审核一般 1-2 个工作日审核通过后即可在应用详情页获取两个核心凭证app_key应用的唯一标识类似账号 ID。app_secret应用的密钥类似密码严禁泄露给他人不要硬编码到公开代码中。步骤 3申请类目接口调用权限进入应用详情页点击「权限管理」→「申请权限」。在权限列表中搜索「alibaba.category.get」商品类目查询接口勾选该权限并提交申请。该接口为免费公开权限一般提交后即时通过无需人工审核通过后即可正常调用。确认权限在「已拥有权限」中能看到「alibaba.category.get」即表示权限申请成功。二、技术落地调用接口获取商品类目Python 版前置准备安装依赖库本次实现仅需一个requests库用于发送 HTTP 请求打开终端执行以下命令安装bash运行pip install requests完整可运行代码该代码已封装好签名逻辑、请求逻辑和层级化解析逻辑你只需替换app_key和app_secret即可运行。python运行import requests import hashlib import time # ---------------------- 配置区替换为你自己的应用凭证 ---------------------- # 从1688开放平台应用详情页获取的app_key和app_secret APP_KEY 你的_app_key APP_SECRET 你的_app_secret # ---------------------------------------------------------------------------- # 1688商品类目接口地址固定不变 CATEGORY_API_URL https://gw.open.1688.com/openapi/param2/2/portals.open/api/getCategory def generate_1688_sign(params, app_secret): 生成1688 API要求的MD5签名核心步骤签名错误会导致请求失败 签名规则app_secret 按字母序拼接的参数键值对 app_secret → MD5加密 → 转大写 # 1. 按参数名进行字母序排序1688接口强制要求否则签名无效 sorted_param_items sorted(params.items()) # 2. 拼接参数字符串无分隔符直接键值相连如app_key123timestamp1699999999999 param_concat_str .join([f{key}{value} for key, value in sorted_param_items]) # 3. 构造完整的签名原始字符串 sign_raw_str app_secret param_concat_str app_secret # 4. 生成MD5签名并转大写 md5_hash hashlib.md5(sign_raw_str.encode(utf-8)) return md5_hash.hexdigest().upper() def get_1688_product_categories(): 调用1688接口获取完整的商品类目树数据 # 1. 构造接口必填参数参数名和取值均为1688接口固定要求不可修改 request_params { method: alibaba.category.get, # 接口方法名固定不变 app_key: APP_KEY, # 你的应用ID timestamp: str(int(time.time() * 1000)), # 13位毫秒级时间戳防止请求过期 format: json, # 返回数据格式固定为json v: 2.0, # 接口版本固定为2.0 sign_method: md5 # 签名方式固定为md5 } # 2. 生成签名并添加到请求参数中 request_params[sign] generate_1688_sign(request_params, APP_SECRET) # 3. 发送GET请求类目接口支持GET更简单易操作 try: # 发送请求设置30秒超时防止网络卡顿导致程序挂起 response requests.get(CATEGORY_API_URL, paramsrequest_params, timeout30) # 检查HTTP请求状态码200表示请求成功非200抛出异常 response.raise_for_status() # 解析返回的JSON数据并返回 return response.json() except requests.exceptions.RequestException as e: print(f❌ 请求类目接口失败{str(e)}) return None def print_category_tree(categories, level0): 递归打印类目树层级化展示方便查找目标类目ID :param categories: 类目列表接口返回的children数组 :param level: 类目层级用于缩进提升可读性 for category in categories: # 提取类目核心信息使用get方法防止字段缺失导致程序报错 cat_id category.get(categoryId, 未知ID) cat_name category.get(name, 未知名称) cat_level category.get(level, 未知层级) is_leaf category.get(isLeaf, False) # 是否为叶子类目无下级子类目 # 构造叶子类目标签 leaf_tag 【叶子类目】 if is_leaf else 【可下钻】 # 构造层级缩进每级增加2个空格 indent * level # 打印类目信息 print(f{indent}[{cat_level}级] {cat_name}ID{cat_id}{leaf_tag}) # 递归打印子类目如果当前类目有子类目 if children in category and category[children]: print_category_tree(category[children], level 1) # ---------------------- 主程序入口 ---------------------- if __name__ __main__: print( 开始获取1688商品类目数据...) print( * 80) # 1. 调用接口获取类目数据 category_data get_1688_product_categories() if not category_data: print(❌ 未获取到有效类目数据请检查配置和网络后重试) exit(1) # 2. 解析并打印类目树 try: # 提取类目列表1688接口返回数据有固定结构result → categories category_list category_data[result][categories] print(✅ 成功获取类目数据类目树如下) print( * 80) print_category_tree(category_list) except KeyError as e: print(f❌ 解析类目数据失败缺少核心字段{str(e)}) print(f 接口返回完整数据{category_data})代码使用步骤替换代码中「配置区」的APP_KEY和APP_SECRET为你在开放平台获取的真实凭证复制粘贴不要多空格、少字符。打开终端切换到该代码文件所在目录。执行代码python 文件名.py如python 1688_category.py。查看控制台输出即可看到层级化的类目树找到你需要的类目并复制其categoryId。运行效果示例plaintext 开始获取1688商品类目数据... ✅ 成功获取类目数据类目树如下 [1级] 服装服饰ID1031900【可下钻】 [2级] 女装ID1031918【可下钻】 [3级] 上衣ID1031919【可下钻】 [4级] T恤ID1031920【叶子类目】 [4级] 衬衫ID1031921【叶子类目】 [3级] 下装ID1031922【可下钻】 [4级] 裤子ID1031923【叶子类目】三、常见问题排查新手高频踩坑签名错误返回「invalid sign」或「签名无效」核对APP_SECRET是否填写正确开放平台复制时避免复制到前后空格。确认时间戳是 13 位毫秒级代码中int(time.time() * 1000)已处理无需修改。检查参数是否按字母序排序代码已封装该逻辑无需手动干预。权限不足返回 403 Forbidden 或「无权调用该接口」确认已申请alibaba.category.get接口权限且权限状态为「已通过」。确认应用已审核通过未通过的应用无法调用任何接口。返回数据为空或解析失败缺少「result」或「categories」字段检查网络连接是否正常可尝试访问其他网站验证。查看控制台输出的「接口返回完整数据」确认是否为平台返回的错误信息如凭证过期、频率超限。确认账号已完成实名认证未实名认证账号无法获取有效数据。接口频率超限返回「request too frequent」1688 类目接口限制单应用 QPS≤10、日调用≤5 万次。类目数据更新缓慢一般 24 小时更新一次建议将获取到的类目数据本地缓存如保存为 JSON 文件避免重复调用接口。四、后续扩展获取类目后的常用操作本地缓存类目数据将获取到的类目数据保存为1688_categories.json文件后续直接读取文件无需重复调用接口。关键字筛选类目添加搜索功能根据类目名称快速查找目标categoryId如输入「女装」直接筛选出相关类目。对接商品榜单接口使用获取到的categoryId调用product.topList.query接口获取对应类目的商品榜单即你之前关注的需求。总结接入 1688 商品类目核心是完成「开放平台实名认证→创建应用→获取凭证→申请接口权限」这四步前置准备。接口调用的关键是生成符合规则的 MD5 签名参数必须按字母序排序时间戳为 13 位毫秒级。运行代码后层级化打印的类目树中categoryId是后续所有相关接口的核心入参需妥善保存。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询