百度知道OPENAPI接口規范文檔1.0_final_第1頁
百度知道OPENAPI接口規范文檔1.0_final_第2頁
百度知道OPENAPI接口規范文檔1.0_final_第3頁
百度知道OPENAPI接口規范文檔1.0_final_第4頁
百度知道OPENAPI接口規范文檔1.0_final_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、百度知道OPEN API接口規范文檔v1.0百度百度知道OPEN AP接口規范文檔 V1.0系統名稱百度知道OPEN API服務接口I項目負責人作者耿艷坤文檔提交日期2010-08-26百度在線網絡技術(北京)有限公司(版權所有,翻版必究)百度在線網絡技術(北京)有限公司-ii -百度知道OPEN API接口規范文檔v1.0百IS修改記錄No修改后 版本號修改內容簡介修改日期修改人11.0百度知道OPEN API服務接口2010-08-26耿艷坤百度在線網絡技術(北京)有限公司-3 -143525174.docBai溢百虞目錄1 背景42 規范適用對象說明 43 名詞解釋44 請求數據包格式規

2、范 44.1 URL44.2 參數44.2.1 系統級參數44.2.2 業務級參數的通用約定 54.2.3 參數簽名算法55 響應數據包格式規范 65.1 XML輸出格式65.2 json輸出格式65.3 錯誤響應輸出格式 76 錯誤碼定義77 API接口細則87.1 baidu.zhidao.getQuesti on List 87.1.1 功能87.1.2 參數87.1.3 返回值87.2 baidu.zhidao.getQuesti on Search 97.2.1 功能97.2.2 參數97.2.3 返回值97.3 baidu.zhidao.getQuesti onlnfo 107.3

3、.1 功能 107.3.2 參數 107.3.3 返回值 107.4 baidu.zhidao.getQuesti onAn swer 117.4.1 功能117.4.2 參數117.4.3 返回值 127.5 baidu.zhidao.questi on 127.5.1 功能 127.5.2 參數 127.5.3 返回值 127.6 baidu.zhidao.a nswer 137.6.1 功能 137.6.2 參數 137.6.3 返回值 138 第三方提供 API接口細則 149 附件及參考資料 151背景本文旨在為第三方合作站點應用訪問百度知道開放服務提供統一的HTTP接口調用與交互規

4、范。本文中描述的規范包括百度知道問題列表查詢接口、檢索查詢接口、提問接口和回答接口。2規范適用對象說明本規范僅適用于由服務器端發起調用請求、API。POST提交數據以及 GET請求文本數據結果的 Open3名詞解釋百度知道:API KEY:注冊API合作時由百度的 OPEN API平臺分配的唯一標識一個應用的字符串,又 稱應用公鑰API SECRET注冊API合作時由百度的 OPENAPI平臺分配的應用密鑰,用于平臺與合作站 點之間通信時的參數簽名4請求數據包格式規范4.1 URL按照百度 Open API規范,百度知道 OPEN API提供如下REST風格的HTTP接口: stringque

5、ry_stri ng由系統級參數部分和具體 Ope n API調用參數部分組成,以key1=value&key2=value2& 表示,對于采用 POST請求的 OpenAPI, query_string部分則是在 POST請求體里。所有查詢類的Open API接口既支持POST也支持GET方式,提交類的 OPEN API接口僅支持POST方式。4.2參數4.2.1系統級參數以下參數是由百度 OpenAPI平臺系統定義的,百度知道需要支持這些參數以便接入該平臺提供開放接口。百度知道采用應用授權認證接口方式,合作初始百度知道代第三方站點申請應用分配api_key和參數簽名密鑰 a

6、pi_secret 。表格4-1 API系統級參數參數名類型是否必需描述api_keystri ng是注冊應用時分配到的api keymethodstri ng是采取 baidu.zhidao.getQuestionList這樣的命名空間方式制定方法名call_idui nt是時間戳,系統時間的秒值,同個應用的不 同api請求的time值應該是遞增的,用 于防replay 攻擊formatstri ng否響應包格式,可以是xml (默認)或jsoniestri ng否API調用請求包的編碼類型,支持UTF-8和GBKbd_sigstri ng是參數簽名,對bd_sig外所有參數串的簽 名,包括

7、業務級的參數。4.2.2業務級參數的通用約定百度知道遵守百度 Open API規范中業務級通用參數的約定。表格4-2業務級參數的通用約定參數名類型描述page_noInt用于支持分頁的api,默認為1,表示第幾頁page_sizeInt用于支持分頁的 上限為25api,表示每頁返回多少條數據,默認以及4.2.3參數簽名算法參數簽名生成算法采取如下方式(PHP版),其它語言根據注釋描述完成等同功能:param_array 是key-value形式的參數數組,不包括 api_secret密鑰本身/secret是合作申請成功后分配的api_secret 密鑰function gen erate si

8、g($param array, $secret) $str = ”;II對param array中的參數名稱進行升序排序ksort($param array);II按照如下格式轉換數組為string格式foreach ($param array as $k=>$v) |$str .= "$k=$v"I/string末端補充 api_secret 密鑰$str .= $secret;百度在線網絡技術(北京)有限公司-8 -143525174.doc百虞/生成MD5為最終的數據簽名return md5($str);注:密鑰是百度知道分配給第三方應用的secret_key,

9、該算法返回的結果便是系統級參數中的 bd_sig。5響應數據包格式規范響應數據包的格式由調用時傳遞的format參數指定(默認為xml格式),無論是xml格式還是json格式,輸出內容都是UTF-8格式。目前,百度知道目前支持xml、json格式。5.1 XML輸出格式文檔編碼格式UTF-8接口的返回數據中,數組對應的xml節點包含list= ”true ”屬性,其子節點的標簽名跟對應 的數據有聯系,并且同個數組內的同級節點的標簽名一致。例如表示問題標題列表對應的 xml輸出可能為:vquestio nList list="true"><title><

10、;!CDATA北京一共有幾個區?></title><title><!CDATA 百度大廈的地址是什么?></title></questi on List>接口的返回數據中,對象類型和普通數據類型數據(string , int ,double ,bool )對應的xml節點不包含list屬性或者list屬性值為false ,節點標簽名具有實際意義,與數據所 描述的信息相符。例如,表示問題的數據對應的xml輸出為:<question list="false ”<title><!CDATA 百度大廈的

11、地址是什么?></title><url><!CDATA n/133295964.html</url><content><!CDATA如題,百度大廈地址在</ content ></questi on>5.2 json輸出格式API調用時如果傳遞format參數為json (大小寫不敏感),則正常響應包符合如下規范的json字符串:http 響應頭中的 Content-Type 指定為 application/json,charset=utf-8字符串編碼格式是 UTF-8字符串內容是XML輸出數據所對應的

12、PHP數組的標準JSON字符串5.3錯誤響應輸出格式錯誤響應輸出內容符合以下規范:返回內容由error_code, error_msg, request_args這3個屬性組成,分別用于描述錯誤碼,錯誤信息,以及調用Open API時所傳遞的所有參數的信息。request_args 屬性是一個數組,由n個包含key和value屬性的對象組成例如,假設第三方應用調用baidu.zhidao.getQuestionList接口時傳遞的參數api_key無效,則其對應的xml格式的錯誤響應包為如下格式:<?xml versio n="1.0" en codi ng=&quo

13、t;UTF-8"?><baidu zhidao getQuesti on List resp on se><error code>101</error code><error msg> In valid API key</error msg><request args list="true"><arg><key><!CDATAcid></key><value><!CDATA249></value><

14、/arg><arg><key><!CDATAmethod></key><value><!CDATAbaidu.zhidao.getQuestio nLisx/value></arg></request args></ baidu zhidao getQuesti on List resp onse >Json格式的字符串內容是 XML輸出數據所對應的 PHP數組的標準JSON字符串6錯誤碼定義百度開放知道 OPEN API調用過程中可能會返回的錯誤碼定義如下表所示:error_co

15、deerror_msgDescriptio n0Success成功1Unknown error未知錯誤2Service temporarily un available后端服務暫時不可用3Un supported ope napi methodOpen api接口不被支持百度在線網絡技術(北京)有限公司-10 -143525174.doc百虞4Open api request limit reached應用對open api接口的調用請求數 達到上限5Un authorizedclie ntIP address:%sopen api調用端的IP未被授權100In valid parameter

16、參數無效或缺失101In valid API keyApi key 無效103In valid call_id parameterCall_id參數無效或已被使用過104In correct sig nature簽名無效105Too many parameters參數過多106Un supported sig nature method參數簽名算法未被平臺所支持200No permissi on to access data沒有權限訪問數據900No such applicati on exists應用不存在12001Parameters format error必選參數格式錯誤12002An

17、 swer for in valid questi on提交回答的冋題生命已結束7 API接口細則以下接口返回數據均是以 XML格式為demo,JSON格式的字符串內容是 XML輸出數據所對應 的PHP數組的標準JSON字符串。7.1 baidu.zhidao.getQuestionList7.1.1 功能基于百度知道分類ID獲取對應分類下的問題列表URL Demo: http:/ope n. on List& call_id=1276418994& format=xml&bd_sig=sig-result&cid=249&qstatus=O&p

18、age_no=2&page_size=257.1.2參數參數名類型描述4.2.1系統級參數全體4.2.2業務級參數全體cidint百度知道的分類IDqstatusint問題狀態0為待解決1為已解決7.1.3返回值Response XML 示例<?ral ver3i0n=rrL.Orr encoding=rr0TF-8rr?><b«idu_ztildao_g«tQue3tlaoLi3t_ttsponse xmlnj"Hhttp: /openapl»baidu+ com" xhinsixai""http

19、:/wu*w3»org/2001 /XKLSchema-instanceM> <questionLi3t 113t-"truerr><question list=J,fal3ex><id><: CDATA 133295364<url>< ! CDATAhttp: /zhidao.haid.Ux coia/que3t±Dn/133295964.htnilJ ></ur L>CD1TA百度大腹地址X/title><CDiiLent>< CDATA百度大鹿地址Jx

20、/contea1<CltiX?CDATA1075JJ></cltl>< cna*e>< ! CD1TA 百 J® ></cnaiae></questioH></ttue3tioiiLlst></bai du_zhi dao_tjetQue 3 ti anL i3t_cesp onse>Response XML標簽說明標簽名描述id問題IDurl該問題在百度知道的 URLtitle問題標題content提問內容cid該冋題在百度知道所屬的分類IDcn ame該問題在百度知道所屬的分類名稱7.

21、2 baidu.zhidao.getQuestionSearch7.2.1功能基于檢索關鍵字在百度知道中搜索匹配的問題列表URL Demo:http:/ope n. on Sear ch&call_id=12764994&format=xml&bd_sig=sig-result&keywords=北京 + 百度大廈 &qstatus=O&page_ no=2&page_size=257.2.2參數參數名類型描述4.2.1系統級參數全體4.2.2業務級參數全體keywordsstri ng檢索關鍵字多個檢索關鍵字之間使用 +號連接qstat

22、usint問題狀態0為待解決1為已解決7.2.3返回值Response XML 示例vei:3ion®rrl. Orr encodingsUTF-0rr?><baidu_zhidao_getQuestionSearch_response xmlns=rrhtt.p: /openapi.ibaidu c*" xnJins :xsi=rrhttp: /uww m3 oeg/2001 /XML5chema-instancer,> <qviest-ionLi3t 113t-rrtruerr><question list=false*><

23、;id><! CDATA|133Z95964X/id><urJL>< ! CDATAhttp: /ziiidao»baidu c>/question/133295964ht»J. X/u.rL>! CD ATA 百蘆大庫地址r Le><contenLX ! CDATAf 百度大廈地址X /content><Cld><!CDATA10?$></Cld>< cnamex ? CDATA 百度X / cnauie></t|U4stion></ques

24、tionList></haldu_zhidao_getoutstlonSebtch_tesponje>Response XML標簽說明標簽名描述id問題IDurl該問題在百度知道的 URLtitle問題標題content提問內容cid該冋題在百度知道所屬的分類IDcn ame該問題在百度知道所屬的分類名稱7.3 baidu.zhidao.getQuestionlnfo7.3.1功能基于百度知道問題ID獲取對應問題的數據以及回答URL Demo:http:/ope nlnfo& call_id=127323494&format=xml&bd_sig=si

25、g-result&qid= 1227274827.3.2參數參數名類型描述4.2.1系統級參數全體qidint百度知道的冋題ID7.3.3返回值Response XML 示例<?ral versionsl.O encoding=TITF-8rr?><bai.du_zhidao_gecQuestxonlnf o_r&sportse xm.lns="http: /openapibaidu com- xmlns:xsi=rrh.tt.p: /www m3 dieg/200JL/XML臨cbeutL且一instance!" <que3tion

26、ln£o list=PTfalsew>CDATA 133295964></idO<url>< ! |CDATAh.ttp: /zhidao .beldii ccna/qu已3七:1011/丄3329596411匸111丄></111:1><citle><! CD AT町百度大 IE felh 址Ccontentx ! CDATA百度大匣地Jal ></contentsCDATA 1075 ></clcl><cji:±di 已毛 CDATA 百度X/cnaBe>&

27、lt;/que5tigxiIn£o><bestAnswer3 list=Jirt.ruerr><bes tAnswe e 1 istrr f al serr>< c oncentx! CDATA北京市電捉區上地十銜丄。號 坐地訣丄3號線到西二瞼站下車一艮往西走五分鐘就到了 X /匚ontent> <cite>< ! CDATAhttp: /map baiduT cQm/subways/indexhaul ?c=bei j ing X/cite><pic_url><! CDATAhttp: /list

28、mage ben du c Dfc/t/ image_c a tego ry / iatage /hk /zheng j laying j)?g ></pic_url> C/lbestAnsweO</besdLn.3wei;3>|Kanswer s liatrue<answer<content><!CDATAdt京市羈提區上地十浙切母 坐地底口號線到西二旗站下年一宜柱西走五分鐘就到了X/c皿t曰讓 0g< ! CDATA百矗丸匹地Wt ></Clte><pic_url><! CDATAhttp: /

29、list i>age baidu c o*/1/ image_c a tego ry / iaage/tik/zheng j laying .jpg ></pic_ui:l></answeE><answer list=rrfals已"A<cantent><'CDATA百度大庾由翼林匹克飯功命主佯育場一*鳥翼”的設計者設計的百度大J® ></cgntent><cibe><! CDATAE'B度大廈tfcMh ></cite><pic_url&

30、gt;< CDATAfhttp:/list iaage.baidu c/t/image_category/iaage/hk/Ehengjiayingjjig></pic_url> </answet></aii5wers>< /bai du_:z.hi daogetQue 3 tionInfo_E e sipon3e>Response XML標簽說明標簽名描述questio nlnfo問題內容數據,具體明細參考7.1和7.2bestA nswers最佳答案列表an swers普通答案列表content回答內容cite回答參考資料pic_

31、url回答貼圖URL7.4 baidu.zhidao.getQuestionAnswer7.4.1功能基于百度知道問題ID、回答ID獲取對應問題的數據的回答URL Demo:http:/ope nlnfo& call_id=127323494& format=xml&bd_sig=sig-result&qid= 122727482&aid=12321423527.4.2參數參數名類型描述4.2.1系統級參數全體qidint百度知道的冋題IDaidint百度知道的回答ID7.4.3返回值Response XML 示例<baldu_Ehidao_g&#

32、171;tQuestionAnswei_response xulms"http: /openapi. baidu. co«rr xmLns: xsi= Phttp: f /www. w3,org/2001 /XMLSchema-instance"? <quescionlnfo 1 is totals td><id><!CDATA133295964J<ur 1><'! (DATAhttp: /zliidao, baidu. con/que3tion/ 133Z959E嗎”html ></ur 1&g

33、t;<- L clftX? CDATAISJ® 大1Oicontentx ! CDAJA 百度大廈地址></content><cid><'! CTATA 1075></cid>< -nantx! CD ATA i J>< / cn&o_ ></questionInfo>Onsweilnf List=rrEalserr><c(Hiten»< ! CMEL北JR1IJ羈促區上地4潮ID號 坐地嵌13號城利西二旳站下帶-往西建五井悼就到T >&l

34、t;/coaitenO <cite><! CDATA百度大匣地kfic urlx!CDATAhttp:/li3t,image.taidu,com/1/image category/image/bfc/zhengjiaying.jpg></pir_Qr1> </an?weEinfo></bai du_zhi dao_Qet.Que s ticuiAri3(reE_r e spon3 e>Response XML標簽說明標簽名描述questio nlnfo問題內容數據,具體明細參考7.1和7.2an swerI nfo回答內容數據7.5

35、baidu.zhidao.question7.5.1功能向百度知道進行提問URL Demo:參數全部為 POST 方式7.5.2參數參數名類型描述4.2.1 系統級參數全體即i key method call idformat bd sig ( POSTtitlestri ngPOST字段冋題標題contentstri ngPOST字段問題內容utypestri ngPOST字段用戶類型,例如baidu、renren、wanmeiuidintPOST字段第三方賬號系統 uidun amestri ngPOST字段第三方賬號系統 un ame7.5.3返回值Response XML 示例<

36、?xnl versicn=rrl. 0,r encoding= rrUTF-Brr?><haidu_zhidaD_question_response XMlns«r,http: /apenapi.baidu. comH, Kinins:xsi=rrhtcp: /wwworg/2DOI/XMLSchema-instanc>e"> <eEEQi:_co(ie>0</erEOE_«(le><tt£or_uisg>succts3</«riior<qid>$3S34543<

37、;/qid>< /bai du_zhi dao_ques ti oi l_i esp ons e>Response XML標簽說明標簽名描述error_code錯誤號,0為成功error_msg錯誤描述qid提問成功后返回的qid7.6 baidu.zhidao.answer7.6.1功能向百度知道的待解決問題進行回答URL Demo:參數全部為 POST 方式7.6.2參數參數名類型描述4.2.1 系統級參數全體即i_key method call_id format bd_sig ( POSTqidstri ngPOST字段提供回答的問題 IDcontentstri ng

38、POST字段回答內容citestri ngPOST字段回答參考資料pic_urlstri ngPOST字段回答的貼圖utypestri ngPOST字段用戶類型,例如baidu、renren、wanmeiuidintPOST字段第三方賬號系統 uidun amestri ngPOST字段第三方賬號系統 un ame7.6.3返回值Response XML 示例<?xnl versicn=rr1.0rr encoding= rrUTF-6rr?><haidu_zhidaD_que3tion_response XMlns»r,http: /apenapi.baidu.

39、com*' xmlns:xsi=rrhtcp: /www.W3. org/2DOI/XMLSchema-instanc"><eriot_code>0</erEQt_co(ie><tt£or_uisg>succts3</eriiDr<qid>$8S34543</qid>< /bai du_zhi dao_ques ti oi l_l e3p ons e>Response XML標簽說明標簽名描述error code錯誤號,0為成功百度在線網絡技術(北京)有限公司-16 -1435251

40、74.doc百虞error_msg錯誤描述qid回答成功后返回的問題id8第三方提供API接口細則使用提問API (baidu.zhidao.question)的第三方,其用戶使用該 API提交提問之后,如果知道平臺上有用戶對該提問進行了回答,那么是需要一種機制反饋給第三方API調用者,以便及時將回答反饋給提問的用戶,解決用戶的疑問。本章節描述提問下產生回答后,第三方需要提供的API接口規范格式和要求。所有回答相關的反饋輸出字符編碼均是UTF-8需要第三方提供 HTTP的接口,采用POST方法,參數簽名加密算法和4.2.3章節描述的算法一致,會使用第三方的密鑰進行加密,第三方對之進行有效性校驗,需要支持的POST參數如下:參數名類型描述methodstri ng值為 baidu.zhidao.feedbackqidint問題ID,知道為int型aidint回答ID,知道為int型utypestri ng提冋用戶的用戶類型,例如baidu、renren、飛信uidint第三方賬號系統uid第三方基于接收到的qid和aid向平臺發起請求,調用 baidu.zhidao.getQuestionAns

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論