淘寶API接口介紹【接口調(diào)用方式介紹及返回?cái)?shù)據(jù)結(jié)構(gòu)】
淘寶API接口是指阿里巴巴旗下淘寶網(wǎng)提供的一種基于HTTP協(xié)議的接口規(guī)范。該接口體系包括了多個(gè)子接口,支持淘寶網(wǎng)站上商品搜索、商品信息、店鋪信息等多種功能。本文將詳細(xì)介紹淘寶API接口的相關(guān)知識(shí),包括接口的調(diào)用方式、接口的使用限制等。
一、接口調(diào)用方式
接口調(diào)用地址
淘寶API接口的調(diào)用地址為http://gw.api.taobao.com/router/rest。這個(gè)地址是固定的,不需要改變。我們只需將具體要調(diào)用的子接口名稱以及相關(guān)參數(shù)放到url參數(shù)部分,以實(shí)現(xiàn)對相應(yīng)接口的調(diào)用。
例如,在調(diào)用淘寶搜索API時(shí),如果想要搜索商品名稱中包含“手機(jī)”的商品,則調(diào)用地址應(yīng)該為:http://gw.api.taobao.com/router/rest?method=taobao.tbk.item.get&app_key=12345&sign=abcdefg×tamp=2019-11-01 12:00:00&format=json&v=2.0&fields=num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url&cat=16,18&q=手機(jī)
在這個(gè)例子中,我們使用了taobao.tbk.item.get這個(gè)子接口,并傳遞了多個(gè)參數(shù)過去。其中,app_key是我們自己的淘寶開發(fā)者賬號(hào)中對應(yīng)的App Key,sign則是使用簽名算法生成的簽名字符串,timestamp是時(shí)間戳,format表示返回?cái)?shù)據(jù)的格式,v是API版本號(hào),fields表示需要返回的數(shù)據(jù)字段,cat表示搜索商品的類目ID,q表示搜索的關(guān)鍵詞。
接口調(diào)用方式
淘寶API接口的調(diào)用方式主要分為三種:GET、POST和自定義參數(shù)格式。
GET方式是指將參數(shù)直接放到url地址中,可以直接在瀏覽器地址欄中訪問。使用GET方式調(diào)用接口時(shí),所有參數(shù)都需要作為url中的一部分,用“&”符號(hào)隔開。可以直接在瀏覽器地址欄中輸入接口調(diào)用地址進(jìn)行調(diào)用,也可以使用類似于jQuery.ajax方法的方式,通過JavaScript代碼進(jìn)行調(diào)用。GET方式調(diào)用接口時(shí),常用的參數(shù)包括method、app_key、timestamp、format、v等。
POST方式則是將參數(shù)以表單的形式提交到服務(wù)器端。在使用POST方式調(diào)用接口時(shí),請求參數(shù)需要放到請求體中。POST方式調(diào)用接口時(shí),常用的參數(shù)包括method、app_key、timestamp、format、v、sign_type、sign等。
自定義參數(shù)格式是指在參數(shù)形式上與GET、POST等方式都不相同的一種方式,例如XML格式、JSON格式等。這種方式通常需要使用第三方插件或工具包,調(diào)用接口時(shí)需要聲明content-type為相應(yīng)數(shù)據(jù)格式。在調(diào)用淘寶API接口時(shí),常用的格式包括JSON、XML、Protobuf等。
二、接口使用限制
使用淘寶API接口時(shí)需要遵循一些使用限制,否則調(diào)用接口將會(huì)失敗或者受到一些限制。下面介紹幾個(gè)常用的接口使用限制:
接口訪問頻次限制
淘寶API接口對每個(gè)開發(fā)者賬號(hào)每天的接口調(diào)用次數(shù)有限制,超過限制則會(huì)出現(xiàn)接口調(diào)用失敗的情況。為了避免這種情況的發(fā)生,我們需要控制好接口訪問頻次,保證接口的正常調(diào)用。
返回?cái)?shù)據(jù)限制
淘寶API接口的返回?cái)?shù)據(jù)有一定限制,主要包括返回?cái)?shù)據(jù)的條數(shù)和返回?cái)?shù)據(jù)的字段選擇。對于一些特殊限制,一般在接口說明中有詳細(xì)的介紹,我們可以根據(jù)接口說明來合理地使用相應(yīng)的接口。
淘寶開發(fā)者賬號(hào)限制
在使用淘寶API接口時(shí),我們需要先在淘寶開放平臺(tái)注冊一個(gè)開發(fā)者賬號(hào),并在開發(fā)者賬號(hào)中創(chuàng)建一個(gè)應(yīng)用,獲得應(yīng)用對應(yīng)的App Key和App Secret。同時(shí),我們需要根據(jù)接口規(guī)范來正確地使用App Key和App Secret進(jìn)行接口調(diào)用,否則將會(huì)出現(xiàn)接口調(diào)用失敗的情況。
三、接口返回?cái)?shù)據(jù)結(jié)構(gòu)
淘寶API接口返回的數(shù)據(jù)格式主要有兩種,分別是XML格式和JSON格式。XML格式中每個(gè)節(jié)點(diǎn)都是一個(gè)標(biāo)簽,標(biāo)簽內(nèi)的內(nèi)容是節(jié)點(diǎn)的值。JSON格式則是一種輕量級的數(shù)據(jù)交換格式,包含的內(nèi)容較少,主要由對象和數(shù)組兩種數(shù)據(jù)類型組成。
下面是一個(gè)XML格式的淘寶API接口返回?cái)?shù)據(jù)示例:
<?xml version="1.0" encoding="utf-8"?> <response> <total_results>2</total_results> <taobaoke_items> <taobaoke_item> <num_iid>123456</num_iid> <title>測試商品1</title> <price>10.00</price> </taobaoke_item> <taobaoke_item> <num_iid>654321</num_iid> <title>測試商品2</title> <price>20.00</price> </taobaoke_item> </taobaoke_items> </response>
下面是一個(gè)JSON格式的淘寶API接口返回?cái)?shù)據(jù)示例:
{ "tbk_item_get_response": { "results": { "n_tbk_item": [ { "num_iid": 12345, "title": "測試商品1", "price": 10.00 }, { "num_iid": 54321, "title": "測試商品2", "price": 20.00 } ] } } }
可以發(fā)現(xiàn),XML格式與JSON格式的數(shù)據(jù)結(jié)構(gòu)差別較大。在使用淘寶API接口時(shí),需要根據(jù)具體情況選擇相應(yīng)的數(shù)據(jù)格式,并根據(jù)數(shù)據(jù)結(jié)構(gòu)處理返回?cái)?shù)據(jù)。