简单三步,教你快速接入淘宝开放平台,调用官方API

news2025/2/23 12:59:11

    淘宝开放平台是为了方便开发者接入淘宝平台,进行商品、订单等信息的管理和交互而设计的。接入淘宝开放平台需要经过一系列审核和申请流程,而在API权限包审核时,一定要提供真实有效的证件和资料,并满足相应的条件,才能顺利申请通过。

对于一些时间和预算比较紧张的商家,除了通过淘宝开放平台接入外,还有更加便捷的方式接入,更加灵活多变,不比限于权限包的申请,可以直接选择单个API接口。下面介绍具体流程:

接口开通步骤:
第一步:在淘宝开放平台中选择接口塡写应用申报递交给我司,确认接口是否都有。
第二步:确认接口都有,注册appkey和secret,进行测试。测试数据符合淘宝开放平台接口参数说明。
第三步:签订保密协议和合同,选择商品接口或者是订单接口。

调用说明:

custom-自定义API操作

公共参数

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

请求参数

请求参数:api=

参数说明:其它参数:参考淘宝开放平台接口文档,与淘宝的参数一致 https://open.taobao.com/api.htm?docId=140&docType=2

名称类型必须描述
apiString淘宝开放平台的接口名(如:taobao.picture.upload( 上传单张图片 ))
sessionString授权换取的session_id
[其他参数]String其它参数:参考淘宝开放平台接口文档,与淘宝的参数一致
https://open.taobao.com/api.htm?docId=140&docType=2

调用示例(curl)

PHP调用代码

<?php

// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://o0b.cn/jennif
$method = "GET";
$url = "https://api-服务器.cn/taobao/custom/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&method=";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>

 Python调用代码

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-服务器.cn/taobao/custom/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&method="
headers = {
    "Accept-Encoding": "gzip",
    "Connection": "close"
}
if __name__ == "__main__":
    r = requests.get(url, headers=headers)
    json_obj = r.json()
    print(json_obj)

Java调用代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;

public class Example {
	private static String readAll(Reader rd) throws IOException {
		StringBuilder sb = new StringBuilder();
		int cp;
		while ((cp = rd.read()) != -1) {
			sb.append((char) cp);
		}
		return  sb.toString();
	}
	public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		PrintWriter out = new PrintWriter(conn.getOutputStream());
		out.print(body);
		out.flush();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static void main(String[] args) throws IOException, JSONException {
		// 请求示例 url 默认请求参数已经URL编码处理
		String url = "https://api-服务器.cn/taobao/custom/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&method=";
		JSONObject json = getRequestFromUrl(url);
		System.out.println(json.toString());
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/619478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis未授权访问漏洞复现与利用

目录 一、漏洞简介及危害 1.1什么是redis未授权访问 1.2漏洞的危害&#xff1a; 1.3漏洞影响&#xff1a; 二、漏洞复现&#xff1a; 三、未授权访问漏洞测试 3.1 利用redis写webshell 3.2 利用"公私钥"认证获取root权限 3.3 利用crontab反弹shell 四、脚本…

自动化10年+经验给你10条建议,让你在自动化界占据一片地!

目录 前言&#xff1a; 1、哪一刻&#xff0c;让你想起了自动化 1.1 执行回归测试 1.2 压测场景执行并发 1.3 UI稳定&#xff0c;接口不断升级 2、七问&#xff1a;是否了解自动化风险 2.1 团队成员的资历 2.2 自动化成本投入产出比 2.3 慎重对待UI级自动化 2.4 自动化…

OpenAI | Let’s Verify Step by Step详细解读

一、概述 title&#xff1a;Let’s Verify Step by Step 论文地址&#xff1a;https://arxiv.org/abs/2305.20050 代码&#xff1a;GitHub - openai/prm800k: 800,000 step-level correctness labels on LLM solutions to MATH problems 1.1 Motivation 近期大模型的出现极…

青岛科技大学|物联网工程|物联网定位技术(第一讲)|6.7

目录 物联网定位技术&#xff08;第一讲&#xff09; 1. 什么是物联网定位技术&#xff1f; 2. 物联网定位技术主要有哪些&#xff1f; 3. 简述卫星定位系统的发展历史以及GPS的发展概况&#xff1f; &#xff08;1&#xff09;卫星定位的由来和发展 &#xff08;2&…

【Mysql】InnoDB 中 B+ 树索引的注意事项

一、根页面万年不动 在之前的文章里&#xff0c;为了方便理解&#xff0c;都是先画存储用户记录的叶子节点&#xff0c;然后再画出存储目录项记录的内节点。 但实际上 B 树的行成过程是这样的&#xff1a; 每当为某个表创建一个 B 树索引&#xff0c;都会为这个索引创建一个根…

Vue.js 中的服务端渲染和客户端渲染的区别

Vue.js 中的服务端渲染和客户端渲染的区别 Vue.js 是一个流行的前端框架&#xff0c;它提供了一种简单而强大的方式来构建交互式用户界面。Vue.js 可以在客户端和服务端执行渲染&#xff0c;这两种方式有不同的优势和劣势。本文将介绍 Vue.js 中的服务端渲染和客户端渲染的区别…

安全测试:13款免费的安全测试工具,抓紧白嫖不看后悔

目录 1. Excercise in a Box 2. Needle 3. DevSlop 4.移动安全框架(Mobile Security Framework) 5. Frida 6. Nishang 7.Tamper 8.InSpec 9. Faraday 10. Pocsuite 11. Taipan 12.Pacu 13. Secure Guilld 总结 1. Excercise in a Box Excercise in a Box是由英国…

Vue2 前端路由

SPA 单页面应用 只有一个页面&#xff08;一个html文件&#xff09; vue-router 组件之间的切换&#xff08;hash地址与组件间的关系&#xff09;–前端路由 vue版本与路由版本的对应关系 vue2->router3 vue3->router4 入门 用vue脚手架创建只有babel组件的vue项目…

Vue.js 中的 mixin 和混入有什么区别?

Vue.js 中的 mixin 和混入有什么区别&#xff1f; 在 Vue.js 中&#xff0c;mixin 和混入是两个常用的概念&#xff0c;它们可以帮助我们实现代码的复用和组件间的通信。虽然它们的名字很相似&#xff0c;但它们的作用和用法有所不同。本文将介绍 mixin 和混入的区别&#xff…

在Windows中安装极狐GitLab Runner(解决 Host key verification failed.)

官方文档&#xff1a;https://docs.gitlab.cn/runner/install/windows.html 在Windows中安装极狐GitLab Runner 1.下载GitLab Runner二进制文件&#xff0c;新建一个文件夹&#xff08;不要有中文&#xff09;&#xff0c;并将二进制文件放入该文件夹&#xff0c;重命名为“git…

最新成果展示:AlInN/GaN DBR模型数据库的开发与应用

由于AlN和GaN之间存在较大的晶格失配和热膨胀失配&#xff0c;导致很难获得高质量的AlN/GaN布拉格反射镜&#xff08;Distributed Bragg Reflection&#xff0c;DBR&#xff09;结构。为解决该问题&#xff0c;天津赛米卡尔科技有限公司技术团队基于先进的TCAD仿真设计平台开发…

OpenAI Triton 初探

Triton 2021年发布了1.0&#xff0c;我在调研GPU使用方法的时候知道了有这个东西&#xff0c;但是当时还不了解OpenAI&#xff0c;觉得这个项目太新太小众&#xff0c;并没有深究。现在GPT大火之后&#xff0c;再回过头看看他们的这个东西。 现在相关文档还是很少&#xff0c;…

EXCEL数据计算分析功能助力PID闭环控制优化

EXCEL大家并不陌生,这篇博客记录汇总利用EXCEL进行工作分析的一些技巧,专栏也会持续更新,感谢大家关注评论。首先介绍下工控上用的比较多的模拟量采集,模拟量采集的数学基础大家可以查看下面的博客: PLC模拟量输出 模拟量转换FC S_RTI_博图模拟量输出指令_RXXW_Dor的博客…

INDEMIND:陷入创新焦虑的扫地机器人,下一步该怎么走?

卖不动的扫地机器人&#xff0c;需要翻过高价和智能化两座大山。 卖不动的背后&#xff0c;原因是什么&#xff1f; 视角回到行业&#xff0c;随着基站型全功能扫地机器人的出现&#xff0c;机器人的产品力和使用体验得到明显提升&#xff0c;可以说已经能够极大程度的满足消…

Java中查看堆里的信息

文章目录 前言1 建议无脑的做一件事2 jmp命令3 导入 hprof 文件到Visual VM 中4 查看对象属性值 前言 日常工作中&#xff0c;我们可能会遇到这样的场景&#xff1a; java项目发生了OOM&#xff1b;想知道在某种场景下&#xff0c;堆里的信息&#xff0c;从而确认一些代码功能…

2000道面试必问的Java面试八股文及答案整理(2023版)

说快也快&#xff0c;说不快也不慢&#xff01; 年前&#xff0c;陆陆续续&#xff0c;好多大厂都在裁员&#xff1b; 年后&#xff0c;又有一大批程序员失业&#xff0c;找不到避风港&#xff1b; 这时候&#xff0c;就有人说了&#xff0c;为什么找工作这么难&#xff1f;…

【技巧】ZIP文件的分卷压缩如何设置 ?

有时候&#xff0c;因为文件过大&#xff0c;我们进行压缩后发现压缩包依旧很大&#xff0c;不方便储存或邮件发送等。 这种情况就需要把文件进行分卷压缩&#xff0c;也就是根据需要的大小&#xff0c;把文件分别压缩成若干个小压缩包。 还不了解的小伙伴&#xff0c;可以看…

入行这几年,我已经快要摸透了软件测试这一行!

目录 前言&#xff1a; 第一年 第二年 第三年 第四年 作为过来人的一些忠告 自动化测试到底应该学什么&#xff1f; 结尾&#xff1a; 前言&#xff1a; 软件测试是通过对软件系统进行测试、诊断和验证&#xff0c;以保证软件系统能够符合用户需求和预期质量标准的过程。 大…

java设计模式之:适配器模式

文章目录 适配器模式定义通用代码实现适用场景案例场景分析一坨坨代码实现适配器模式重构 总结 适配器模式&#xff08;Adapter Pattern&#xff09;&#xff1a;将一个类的接口变换成客户端所期待的另一种接口&#xff0c;从而使原本因接口不匹配而无法在一起工作的两个类能够…

熬夜整理21条避坑指南,细聊该如何让自动化完美运行!

目录 1、引言 2、避坑内容总结 2.1无法定位到元素 2.2 Indentation Error 2.3 PO设计模式类 2.4 页面封装类中没有已定义函数的问题 2.4.1 提示没有该方法 2.4.2 没有定义好的函数 2.5 parater must be str 2.6 继承 2.7 not all arguments curerted during string …