HTTP プロトコルの下で TaobaoAPI シールドされたインターフェイス (Taobao 製品の詳細の取得、Taobao 製品のレビューの取得、キーワード検索、ストア内のすべての製品の取得)

 タオバオ API インターフェイスは、HTTP プロトコルを通じて便利で高速なアプリケーション プログラム インターフェイスを提供し、製品クエリ、注文管理、物流情報クエリおよびその他の機能を実現するために使用できます。具体的には次の側面が含まれます。

1. 製品関連 API: 製品詳細、製品リスト、製品分類、製品評価など;
2. 注文関連 API: 注文照会、注文受領、注文確認など;
3. 物流関連 API:物流追跡、物流情報クエリ、その他のインターフェースを含む
4. 認可関連 API: 認可認証の完了、AccessToken の取得、およびその他の操作に使用されます。

同時に、タオバオは、開発者が SDK、API ドキュメント、デモ、デバッグ ツールなどの API インターフェイスに簡単にアクセスできるようにするオープン プラットフォームとツールも提供します。開発者は、アクセス、開発、テストに関する独自のプロジェクト要件に応じて、適切な API インターフェイスと開発ツールを選択できます。

ここで、複数のデータをカプセル化する API インターフェイスを見つけました。データ形式は整っていて安定しており、多くの言語環境で呼び出すことができます。

タオバオ API アクセス手順

  1. API アドレス: KEY アドレスの呼び出しに適用します

  2. 呼び出し例:

    <?php
    
    // 请求示例 url 默认请求参数已经URL编码处理
    // 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
    $method = "GET";
    $url = "https://api-gw.…….cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";
    $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));
    ?>

  3. 一般的なパラメータの説明

    • シークレット: キー
    • lang:[cn,en,ru] 翻訳言語、デフォルト cn 簡体字中国語
    • result_type: [json,xml,serialize,var_export] 戻りデータ形式、デフォルトは json です
    • キャッシュ: [はい、いいえ] デフォルトははいです。キャッシュされたデータが呼び出され、速度は比較的高速です。
    • シークレット: コールシークレット、テストシークレット: (入力不要)
    • キー: 呼び出しキー、テストキー: test_api_key
    • バージョン: API バージョン
    • URL 説明 https://api-gw.onebound.cn/platform/API タイプ/ プラットフォーム: タオバオ、京東など、API タイプ: [item_search、item_get、item_search_shop など]
    • 無差別にパラメータを渡さないでください。パラメータを渡さないと、成功または失敗に関係なく料金が差し引かれます。
    • API:item_searchパラメータの説明:

      • q: 検索キーワード
      • cat: カテゴリ ID
      • start_price: 開始価格
      • end_price: 終了価格
      • sort: ソート [bid, bid, bid2, _bid2, _sale, _credit]
        (bid: 合計価格、bid2: 商品価格、sale: 販売数量、クレジットクレジット、プレフィックスを付けて
        大きい順に並べ替えます)
      • ページ: ページ数
      • page_size: ページごとのトレジャーの数、デフォルトは 40 です
      • sell_info: ビジネス情報を取得するかどうか[はい、いいえ]、デフォルトははいです。
    • API: item_get パラメータの説明: num_iid: 赤ちゃん ID

複数言語および複数メソッドの呼び出しインスタンス

 

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..cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";
		JSONObject json = getRequestFromUrl(url);
		System.out.println(json.toString());
	}

}

 C#

/using System.Net.Security;
//using System.Security.Cryptography.X509Certificates;
private const String method = "GET";
static void Main(string[] args)
{
	String bodys = "";
	// 请求示例 url 默认请求参数已经做URL编码
	String url = "https://api-gw.&.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";
	HttpWebRequest httpRequest = null;
	HttpWebResponse httpResponse = null; 
	if (url.Contains("https://"))
	{
		ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
		httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
	}
	else
	{
		httpRequest = (HttpWebRequest)WebRequest.Create(url);
	}
	httpRequest.Method = method;
	if (0 < bodys.Length)
	{
		byte[] data = Encoding.UTF8.GetBytes(bodys);
		using (Stream stream = httpRequest.GetRequestStream())
		{
		stream.Write(data, 0, data.Length);
		}
	}
	try
	{
		httpResponse = (HttpWebResponse)httpRequest.GetResponse();
	}
	catch (WebException ex)
	{
		httpResponse = (HttpWebResponse)ex.Response;
	}
	Console.WriteLine(httpResponse.StatusCode);
	Console.WriteLine(httpResponse.Method);
	Console.WriteLine(httpResponse.Headers);
	Stream st = httpResponse.GetResponseStream();
	StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
	Console.WriteLine(reader.ReadToEnd());
	Console.WriteLine("\n");
}
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
	return true;
}

パイソン 

#coding:utf-8 
""" 
python2.x および python3.x と互換性がある
要件: pip install リクエスト
""" 
from __future__ import print_function 
import リクエスト
# リクエストの例 URL デフォルトのリクエスト パラメータは URL エンコードされています
url = "https:/ / api-gw.^.cn/taabao/item_get/?key=<自分の apiKey>&secret=<自分の apiSecret>&num_iid=652874751412&is_promotion=1" headers = { "Accept-Encoding": "gzip" , 
" 
    Connection 
    " : "close" 
} 
if __name__ == "__main__": 
    r = request.get(url, headers=headers) 
    json_obj = r.json() 
    print(json_obj)

おすすめ

転載: blog.csdn.net/onebound_linda/article/details/130859684