1. 程式人生 > >淘寶評價介面 - 實時獲取淘寶商品的評價晒單資料

淘寶評價介面 - 實時獲取淘寶商品的評價晒單資料

接上篇文章 如何獲取淘寶天貓商品的詳情圖資料,在這裡繼續講獲取評價晒單資料,依舊是基於淘寶商品ID發起呼叫,同步獲取淘寶天貓商品的實時評價資料。

評價介面分為兩部分:第一是獲取TagList的評價分類標籤和評價總數;第二是獲取詳細評價資料。該介面相同的tid當天的簽名引數是可以複用的,所以在獲取第一步資料後,可將簽名引數複用到該商品的後續介面上,包括詳細評價資料或分頁評價資料。

顯示評價總數

 

顯示全部評價列表

 

顯示晒單評價

 

例如上圖,先使用(type: datalist)介面獲取第 1 頁評價資料,可得到 allNum(評價總數)和 picNum(有圖的評價數),將 allNum 顯示在評價Tab上,當用戶點選評價Tab時,呼叫(type: tagList)介面獲取並生成TagList標籤。對於TagList需要注意“全部”和“有圖”兩個標籤是固有的,其它的是 TagList 介面返回的,當用戶點選“有圖”標籤時,需要作為獨立的引數(isPic)參與(type: datalist)介面請求。獲取全部評價資料後,可生成後面兩張圖的效果。介面資訊:

請求地址:https://taoapi.ndxiu.com/service/get_comment.php

請求方式:get

請求示例:{type:'呼叫型別',tid:'淘寶商品id',appkey:'專屬appkey',sign:'簽名引數'}

建議場景:為了保證介面呼叫效率,建議在客戶端使用ajax方法發起呼叫。

請求引數資訊

介面返回的資訊

這是介面返回的資訊,需要注意的是該介面是需要type引數的,type不同返回的json包也是不同的,獲取這些資料後可以通過jq構造評價列表。

服務端生成簽名引數(以PHP為例):

//這裡是您自己的鑑權程式碼,通過鑑權後才開始下面的簽名
$appkey = 'tbw******'; //這裡填寫您的appkey $appsecret = '******'; //這裡填寫您的appsecret $noncestr = getNonceStr(6); //生成隨機字串 $date = date('Y-m-d'); //生成日期 $signature = getSignature($appkey,$appsecret,$date,$tid); //生成簽名 echo json_encode(array('tid'=>$tid,'appkey'=>$appkey,'sign'=>$signature)); //輸出json字串到客戶端 //通過md5加密生成簽名的函式
function getSignature($appkey,$appsecret,$date,$tid){ $string = $appkey.$appsecret.$date.$tid; $md5 = md5($string); return $md5; }

何時開始簽名?當您的使用者訪問商品詳情頁時發起簽名,將簽名直接跟頁面一起返回。

 

客戶端使用ajax發起呼叫:

function getCommentTag(tid,appkey,sign){ //傳入的實參建議不要暴露給全域性
    $.ajax({
        type: 'GET', //使用GET請求方式
        async: false,
        url: 'https//taoapi.ndxiu.com/service/get_comment.php',
        data: {
            type:'taglist',
            tid:tid,
            appkey:appkey,
            sign:sign
        },
        dataType: 'jsonp', //解決跨域呼叫問題
        jsonp: 'callback',
        jsonpCallback: 'showComment',
        success: function(jsonp){
            //生成並顯示評價總數和標籤
        },
        error: function(){}
    });
}

需要注意當客戶端請求詳情時時間點剛好跨到第二天的情況,返回0019錯誤(簽名引數無效),此時請重新生成簽名重複請求一次即可。

如何獲取商家的sellerID(即sid)呢?直接在詳情頁的DOM中找到主圖或詳圖的任意一張圖片地址,例如:https://img.alicdn.com/imgextra/i3/2217148345/O1CN012BW3d5PVcc0xZya_!!2217148345.jpg

上面斜體加粗的部分就是sellerID(即sid),使用函式截取出來即可。

對於評論頁面滑動翻頁的情況,每次滑動到翻頁請求時只需改變請求的page引數即可。

以上的get_comment介面需要前往taoapi.ndxiu.com註冊申請。

 

筆者的另外文章:

1、實時同步獲取淘寶商品的SKU資料

2、如何獲取淘寶天貓商品的詳情圖資料

3、實時快速獲取物流進度資訊

4、使用JQ開發仿淘寶SKU選擇器(待更)