閱讀691 返回首頁    go 百度 go 百度統計


Tongji API 使用流程

采用HTTP+Json的方式。所有查詢接口均采用GET方法,所有提交接口均采用POST方法。所有請求的輸入參數由係統級輸入參數和應用級輸入參數組成,每個參數值都必須采用UTF-8字符集編碼,在發送調用請求時,所有參數都必須進行urlencode編碼處理。返回的數據格式為Json。

登陸服務

重用統計的登陸服務https://api.baidu.com/sem/common/HolmesLoginService

請求和響應過程包括rsa公鑰加密、gzip打包等步驟,具體調用方法由Tongji API Demo給出,此外還可參考Java版登錄demo_api-client,與DR-API安全登錄使用手冊

數據服務

數據服務地址為https://api.baidu.com/json/tongji/v1/ReportService

調用示例

調用client需要openssl支持,curl示例如下:

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.baidu.com/json/tongji/v1/ReportService/getData'); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); 
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('UUID: '.UUID, 'USERID: '.$ucid, 'Content-Type:  data/json;charset=UTF-8')); 
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $ postData); 
curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
curl_setopt($curl, CURLOPT_HEADER, 0); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

係統級輸入參數

係統級輸入參數通過post數據中的header部分提交。


參數名 參數類型 是否必須 描述
username string 用戶名
password string 通過登陸服務獲取到的st票據
token string 申請獲取到的token
account_type uint 賬戶類型,  ZhanZhang:1,FengChao:2,Union:3,Columbus:4

響應格式

響應數據由header和body兩部分構成:

1.header是api.baidu.com提供的頭數據,包括desc, failures, oprs, succ,
oprtime, quota, rquota, status等;

2.body為Tongji API提供的內容數據,具體參見各個接口的返回參數定義。

返回示例

{ 
    "header": { 
        "desc": "success", 
        "failures": [], 
        "oprs": 1, 
        "succ": 1, 
        "oprtime": 0, 
        "quota": 200000, 
        "rquota": 200000, 
        "status": 0 
    }, 
    "body": { 
        "data": [ 
            { 
                "list": [ 
                    { 
                        "status": 0, 
                        "create_time": "2010-01-01 01:00:00", 
                        "domain": "tongji.baidu.com", 
                        "site_id": 12345, 
                        "sub_dir_list": [] 
                    }, 
                    { 
                        "status": 0, 
                        "create_time": "2010-01-02 01:00:00", 
                        "domain": "www.baidu.com", 
                        "site_id": 12346, 
                        "sub_dir_list": [] 
                    }, 
                ] 
            } 
        ] 
    } 
} 

錯誤響應

錯誤響應由header中failures定義的,包括code和message兩個信息,這兩個參數隻在異常響應的輸出中出現,正常響應的輸出不會出現這兩個參數。

錯誤碼定義


錯誤碼 錯誤信息 描述
base+1 Unknown Error 未知或其他錯誤
base+2 Invalid User 無效用戶或尚未接受協議 
base+3 Invalid Site 站點不存在或者不屬於該用戶
base+4 Invalid Parameter 參數等校驗錯誤

其中base由api.baidu.com分配;

錯誤碼會隨著擴展需求的增加而不斷補充。


錯誤返回示例

{ 
    "header": { 
        "desc": "failure", 
        "failures": [ 
            { 
                "code": 9331, 
                "message": "Invalid Site Or No Permission" 
            } 
        ], 
        "oprs": 1, 
        "succ": 0, 
        "oprtime": 0, 
        "quota": 200000, 
        "rquota": 200000, 
        "status": 2 
    }, 
    "body": {} 
} 

最後更新:2016-12-26 23:58:24

  上一篇:go 什麼是推廣來源賬戶(如何看到其它推廣賬戶的推廣數據)
  下一篇:go 如何獲取用戶的站點列表