淘宝开放平台是为了方便开发者接入淘宝平台,进行商品、订单等信息的管理和交互而设计的。接入淘宝开放平台需要经过一系列审核和申请流程,而在API权限包审核时,一定要提供真实有效的证件和资料,并满足相应的条件,才能顺利申请通过。
对于一些时间和预算比较紧张的商家,除了通过淘宝开放平台接入外,还有更加便捷的方式接入,更加灵活多变,不比限于权限包的申请,可以直接选择单个API接口。下面介绍具体流程:
接口开通步骤:
第一步:在淘宝开放平台中选择接口塡写应用申报递交给我司,确认接口是否都有。
第二步:确认接口都有,注册appkey和secret,进行测试。测试数据符合淘宝开放平台接口参数说明。
第三步:签订保密协议和合同,选择商品接口或者是订单接口。
调用说明:
custom-自定义API操作
公共参数
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
请求参数
请求参数:api=
参数说明:其它参数:参考淘宝开放平台接口文档,与淘宝的参数一致 https://open.taobao.com/api.htm?docId=140&docType=2
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
api | String | 淘宝开放平台的接口名(如:taobao.picture.upload( 上传单张图片 )) | |
session | String | 授权换取的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());
}