API 是指应用程序编程接口,我们通过 API 接口可以实现特定的功能,而不需要了解其内部实现细节。可以把 API 接口理解为是特定服务的一种封装,将服务封装起来提供给他人调用,这样一来很多功能不需要从新开发。
公共参数
请求地址: https://api-gw.onebound.cn/1688/item_search_shop
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
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 | https://cbu01.alicdn.com/img/ibank/2020/386/208/22202802683_1873238575.search.jpg | 宝贝图片 |
price | Float | 0 | 138.00 | 价格 |
detail_url | String | 0 | https://detail.1688.com/offer/628675986215.html | 商品链接 |
请求示例
- 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());
- }
-
- }