API 是指应用程序编程接口,我们通过 API 接口可以实现特定的功能,而不需要了解其内部实现细节。可以把 API 接口理解为是特定服务的一种封装,将服务封装起来提供给他人调用,这样一来很多功能不需要从新开发。
公共参数
请求地址: api-gw.onebound.cn/1688/item_s…
| 名称 | 类型 | 必须 | 描述 |
|---|---|---|---|
| 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版本 |
请求参数
请求参数:seller_nick=b2b-2200733087881719de&start_price=0&end_price=0&q=&page=1&cid=
参数说明:seller_nick:店铺昵称或sid(目前只支持sid))
sort:排序[bid,_bid,_sale,_credit]
(bid:总价(升序)_bid:总价(降序),sale:销量,默认综合排序,time:新品)
sort=new为店铺上新数据,格式不统一,请注意
page:页数
响应参数
Version: Date:
| 名称 | 类型 | 必须 | 示例值 | 描述 |
|---|---|---|---|---|
| items | items[] | 0 | 店铺的所有商品 | |
| num_iid | Bigint | 0 | 628675986215 | 宝贝ID |
| title | String | 0 | 圆形服装店吊牌定做女装衣服吊卡订制800g加厚烘培礼品花卉卡片 | 商品标题 |
| pic_url | String | 0 | cbu01.alicdn.com/img/ibank/2… | 宝贝图片 |
| price | Float | 0 | 138.00 | 价格 |
| detail_url | String | 0 | detail.1688.com/offer/62867… | 商品链接 |
请求示例
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-gw.onebound.cn/1688/item_search_shop/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&seller_nick=b2b-2200733087881719de&start_price=0&end_price=0&q=&page=1&cid=";
JSONObject json = getRequestFromUrl(url);
System.out.println(json.toString());
}
}