淘宝API接口是一个丰富的接口库,提供了各种各样的接口供开发者使用。满足多语言开发。以下是一些常见的淘宝API接口及其代码示例。
1. 搜索商品API接口
该API提供了关键字搜索淘宝商品的功能,可以使用各种编程语言来访问。以下代码段展示了使用Python来调用该API的示例:
```python
import requests
url = 'http://gw.api.taobao.com/router/rest'
app_key = 'your_app_key'
secret = 'your_secret'
method = 'taobao.tbk.item.get'
fields = 'num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url'
q = '女装'
params = {
'app_key': app_key,
'method': method,
'format': 'json',
'v': '2.0',
'sign_method': 'md5',
'timestamp': '20230606102516',
'fields': fields,
'q': q,
}
params['sign'] = sign(secret, **params)
r = requests.get(url, params=params)
print(r.json())
```
2. 获取商品详情API接口
该API提供了获取淘宝商品详情的功能,同样可以使用各种编程语言来访问。以下代码段展示了使用Java来调用该API的示例:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class TaobaoAPI {
/**
* 加签
*
* @param secret 签名密钥
* @param params 参数Map
* @return 签名后的字符串
*/
private static String sign(String secret, Map<String, String> params) {
Map<String, String> sortedParams = new TreeMap<>(params);
sortedParams.put("secret", secret);
String paramStr = StringUtils.join(sortedParams.entrySet(), "&").replace("=", "");
try {
Mac mac = Mac.getInstance("HmacMD5");
SecretKeySpec spec = new SecretKeySpec(secret.getBytes(), "HmacMD5");
mac.init(spec);
byte[] bytes = mac.doFinal(paramStr.getBytes());
return new String(Base64.encodeBase64(bytes));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* 获取商品详情
*
* @param url 接口地址
* @param appKey 应用Key
* @param secret 签名密钥
* @param format 响应格式
* @param v 接口版本号
* @param numIid 商品ID
* @param fields 返回字段,多个以逗号分隔
* @param isSandbox 是否是沙箱环境
* @param timeout 超时时间
* @return 商品详情JSON字符串
taobao.item_get
公共参数
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
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版本 |
请求参数
请求参数:num_iid=652874751412&is_promotion=1
参数说明:num_iid:淘宝商品ID
is_promotion:是否获取取促销价
响应参数
Version: Date:2022-04-04
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
item | item[] | 1 | 宝贝详情数据 |