閱讀495 返回首頁    go 百度 go 百度知道


知道開放平台

   知道開放平台

  • 合作細則

    1、合作簡介:

    百度知道開放平台是基於問答需求的數據開放平台:通過與第三方合作網站的問答數據互通,將用戶需求推送給合作站點,為合作站點擴展問題來源,提升品牌曝光和影響力;同時通過第三方網站的回答支持,為用戶帶來及時、準確的問答體驗,形成良性的問答互動平台。 


    2、合作模式:

    百度知道通過API接口向您的網站每日推送至少1000條領域問題(推送問題數量和問題分類按雙方約定的郵件協議為準),需要您網站的網友或運營編輯人員在您的網站解答問題(注意:不是在百度知道平台上回答問題),再通過API接口同步返回答案數據到百度知道,提升您的網站品牌曝光及影響力。

     

    3、合作目標:

    @網站或論壇:擴展問題來源,提升品牌曝光及影響力;

    @百度知道:引入網站或論壇提供的優質答案,提升垂直領域內的解答力;

     

    4、合作指標:

    您的網站需要保證在上線後的1個月內,設法使得這批問題24h內的解答率達到80%以上(解答率指“有靠譜回答的問題數/推送問題總數”)隨著百度知道規模增長,允許知道同步更多問題給您的網站進行解答,具體數值屆時通過郵件約定。

     

     

    5、合作案例:

    論壇模式合作案例:https://zhidao.baidu.com/question/1732517743676920547.html  

    問答網站合作案例:https://zhidao.baidu.com/question/135158109278808325.html  

     

     

    6、合作流程:

    1)申請合作:申請接入百度知道開放平台,點擊申請接入

    2)協議確認:知道員工會與申請合作方聯係再次確認合作協議細節,

    電子合作協議雙方確認後—》開通申請權限,由百度知道統一發送紙質協議,進行雙方蓋章(注意:合同章和騎縫章)

    3)審核資料:

    • 注冊百度賬號;如果您已有百度賬號,忽略此步驟,否則請點擊這裏:注冊成為百度用戶

      申請接入百度知道開放平台,如果您已申請,忽略此步驟,否則請點擊這裏:申請接入


      百度知道開放平台與百度知道企業開放平台的區別?

      百度知道開放平台是以API接口的形式提供給站長,需要在您的網站(BBS論壇或問答類網站)進行解答問題後,再調用接口同步給百度知道;

      知道企業開放平台是在百度知道平台上解答企業相關問題;


      提交申請後,審核期需要多長時間?

      我們將在10個工作日內對您提交的申請進行審核,請隨時注意查收郵件和保持手機暢通;


      審核通過與否通過什麼方式通知我?

      審核未通過,通知會以郵件的形式發送至您提交申請時填寫的電子郵箱中,請注意查收;

      審核通過,知道工作人員會以QQ或電話主動與您溝通,確認合作細節,請確保手機暢通和QQ在線;


      審核通過後站長需要做什麼?

      審核通過後,請查收知道開放平台將AppKey以郵件形式發送至您提交申請時填寫的電子郵箱,具體操作請按郵件每步操作流程執行,API接口詳情文檔,請點擊這裏:API接口

    • 考核指標和獎懲措施

      一. 開放平台合作原則:

      百度知道開放平台通過與第三方合作網站的問答數據互通,將用戶需求推送給合作站點,為合作站點擴展問題來源,提升品牌曝光和影響力;同時通過第三方網站的回答支持,為用戶帶來及時、準確的問答體驗,形成良性的問答互動平台。因此,開放平台嚴格要求合作網站對用戶提問的解答質量。

       

      二. 對合作網站的考核指標和相應獎懲辦法:

      百度知道將監控合作網站的推送問題量、24h回答覆蓋率,並不定期對合作網站的回答質量進行抽檢,並根據各項指標指導對合作站點的獎懲。如發現考核指標不符合預期,或存在回答中作弊、推廣品牌或有其它不符合知道回答規範的行為,將視情節嚴重程度,予以指導、溝通協調、暫停合作等處理。具體說明如下:

       

      1. 接收問題量

      1) 最低接收問題量為1000條/天,達到1000條/天的站點均可享受開放平台V1級合作展示;如因合作站點原因無法達到最低值,將暫停雙方合作。

      2) 接收問題量達到5000條/天,百度知道將予以合作站點V2級合作展示。

      3) 接收問題量達到10000條/天,百度知道將予以合作站點V3級合作展示。


      2. 24h回答覆蓋率(覆蓋率=有回答問題數/推送問題總數)

      (注:合作網站若是由編輯或運營解答問題的站點,節假日和周六日可不計入考核期)

      1) 按合作網站每日接收問題量,24h回答覆蓋率期望達到80%以上,可保持良好合作關係

      2) 如連續3天覆蓋率低於30%,百度知道將和合作網站溝通協調,建議合作網站改進;如溝通失敗或改進無效果,問題推送量將降低50%;如覆蓋率仍低於30%,將暫停雙方合作。

       

      3. 回答質量

      優質回答指可以解決當前提問的回答;

      低質回答指回答灌水、答非所問、不解決提問等情況,且不僅限於此;

      違規回答指回答內容包含違法、淫穢、詐騙、侵權、廣告等內容,且不僅限於此。

      1) 優質回答占比80%以上,可保持良好合作關係;且百度知道會和合作網站溝通繼續提升接受問題量。

      2) 優質回答占比低於30%,百度知道將和合作網站溝通協調,給予指導,希望合作網站在7天內優化改進;如改進無效,將暫停雙方合作。

      3) 低質回答占比達到10%以上,百度知道將和合作網站溝通協調,給予指導,希望合作網站在7天內優化改進;如改進無效,將暫停雙方合作。

      4) 如發現合作網站有違規回答,百度知道將予以警告;警告1次,希望合作網站在3天內優化改進;如再犯,給予第2次警告,且問題推送量降低50%;如再犯,將直接取消雙方合作。

       

      百度知道開放平台,希望和合作網站攜手,共同為廣大網民排憂解難,共建中文互聯網最大的問答平台,希望合作網站了解以上考核指標和獎懲辦法,積極合作,實現共贏。

       

      本條例百度知道有最終解釋權。


    • 開發指南

        接入流程

      本文主要麵向百度知道開放平台的開發者,開發者可通過此文學習如何接入百度知道。 

      接入的具體步驟如下: 

      1、注冊百度賬號;如果您已有百度賬號,忽略此步驟,否則請點擊這裏:注冊成為百度用戶

      2、申請接入百度知道開放平台,如果您已申請,忽略此步驟,否則請點擊這裏:申請接入

      3、等待百度知道的審核郵件,如果審核通過,您將會收到一封通過的郵件,否則感謝您的關注

      4、熟悉接入百度知道的功能流程,詳情見下述說明

      5、開發接口與百度知道對接,見API接口


        接入功能

      要接入百度知道開放平台,您的站點跟百度知道需要至少包含兩個核心交互點:

      1、訂閱提問(百度知道 --> 您的站點)

      當一個新問題產生時,百度知道開放平台會判斷該問題是否符合您的定製需求,如果符合,百度知道將把這個問題的內容字段打包,用HTTP協議的POST方式發送給您提供的提問接口。當接收到一個新提問時,您可以把這個問題轉化成適合您站點性質的方式去展現,以便獲取回複。


      2、回答提交(您的站點 --> 百度知道)

      當您把接收到的問題以某種形式發布在您的站點後,如果一旦有人回複了該問題,需要您將該用戶的回複內容,通過HTTP協議發送給我們的回答提交接口。這樣,您站點的內容就會作為回答在百度知道的問答頁麵展現了,同時您的站點也得到了曝光。


      所以,要進行基本的對接,需要您完成至少以下兩個功能的開發:

      1、開發一個能接收提問的http接口;點此查看提問訂閱接口

      2、當回複產生時,調起百度知道提供的回答提交的http接口;點此查看回答提交接口


      完成了以上兩步操作,恭喜您,最基本的對接開發已經完成。

      這時,您可進入開放平台開發者中心,進行自主測試聯調,完成後您將可以接收到百度知道的問題,同時把回答提交給百度知道,讓您的站點得到曝光!


      【舉例說明】

      假設您的站點是論壇性質,那可以把一個新問題當做一個新主題發到某個版塊中,當這個主題下有人回複後,把該回複當做回答提交給百度知道就可以了;

      假設您的站點本身就是問答網站,那就把這個問題加入至您本身的問題列表裏,當這個問題下有人回答後,把該回答也同步給百度知道就可以了;


        SDK下載

      PHP-SDK點擊下載

      NET-SDK點擊下載


    • 開發SDK

      PHP-SDK:點此下載

    • API接口-提交接口-聯調環境

        聯調環境

      聯調時,請使用域名前綴:

      https://180.149.133.113:8080/具體接口url

      所有的提交接口,除了回答提交,其他默認都是沒有權限的,如果需要,請向百度知道申請。



        線上環境

      待聯調成功後,百度知道會為您開通正式的線上權限。

      屆時,提交域名請使用:
      https://zhidao.baidu.com/具體接口url

    • API接口-提交接口-必讀規範

        接入規範

      百度知道一旦通過您的應用接入申請,將會以郵件的形式發送給您以下兩個參數:

      ‍‍appkey:‍‍應用在百度知道的唯一標識;

      ‍‍securitykey:‍‍應用提交時計算簽名需使用的安全秘鑰;

      ‍‍以上秘鑰各站點需要嚴格保護,‍‍不允許泄露,一旦泄露將取消接入資格。

      該秘鑰在聯調環境和線上環境同樣適用。


        安全參數

      百度知道提供的所有提交接口,在請求時都必須攜帶以下兩個安全參數:

      參數1:appkey(int類型),在接入時由百度知道分配;

      參數2:sign(string類型),簽名參數,該值生成方式見以下“簽名認證安全算法”說明;



      特殊說明:

      因百度的網絡安全設置,請在所有的提交請求中設置header的Expect項為空,否則提交可能會出現超時現象。

      舉例:(php下curl的設置方式)

      curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect: '));


        編碼規範

      所有接口涉及的字符,均使用UTF8編碼。提交方式均采用POST方式。


        返回格式

      百度知道提供的所有提交接口,返回格式統一為json格式,且內容如下所示:

      {
          'errno'  : 0,       //操作是否成功,0成功,非0失敗,具體原因見errmsg
          'errmsg' : 'xxx',   //操作結果文字描述
          'data'   : {},      //部分接口存在該字段,例如回答成功時返回replyid,具體請查看接口說明
      }


        簽名認證安全算法

      第1步:從‍‍當前您正準備要發給百度知道提交接口的POST數據包裏‍‍,提取questionid參數,如果該參數不存在,用空字符串替代;


      第2步:結合審核通過郵件中發送的appkey和securitykey,將以下3個參數組成字符串,中間用&分割;‍‍

      securitykey&appkey&questionid‍‍


      第3步:計算上述字符串的MD5值,即為簽名的值,如:

      sign=MD5(securitykey&appkey&questionid)


      【舉例】

      假設分配給您的appkey為1000,securitykey為8777F555E8C16715EBA5C85341684C58,‍‍

      您此刻正要調用百度知道的回答提交接口,且已經準備好要發送的POST數據了,數組裏有這麼幾個字段:

      appkey1000應用標識id
      questionid1238790666問題標識id
      content‍‍這是回答內容回答內容
      app_uid123回答用戶uid

      這時,您計算sign的方式應該是這樣的:

      $sign = MD5(“8777F555E8C16715EBA5C85341684C58&1000&1238790666”)


      【示例代碼】

      /**

      * 根據本次請求內容,動態構建sign參數

      * $appKey  百度知道為您分配的appkey

      * $securityKey 百度知道為您分配的安全秘鑰

      * $post 本次您將要發送給百度知道的POST數據,數組格式,UTF8編碼

      */

      function buildSign($appKey, $securityKey, $post) {

          $qid = isset($post['questionid']) ? $post['questionid'] : '';

          return md5("$securityKey&$appKey&$qid");

      }








                             

    • API接口-提交接口-回答

        接口概述

      本接口,用來對某個指定的問題進行回答,提交成功後,返回回答ID。


        接入URL

      /openapi/submit/reply

      域名前綴請查看聯調環境介紹,點此查看


        請求方式

      僅支持HTTP協議的POST方式,UTF-8編碼。


        接入參數

      在使用本接口時,請務必遵守提交規範,攜帶安全參數,點此查看

      參數名

      類型

      必需

      描述

      questionid

      string

      問題標識id,不超過32個字符

      content

      string

      回答內容,最大19999個字符(9999個漢字)

      app_uid

      uint

      站點用戶ID,建議填寫

      app_uname

      string

      站點用戶名,建議填寫

      app_uavatar

      string

      站點用戶頭像url

      app_uprofile

      string

      站點用戶主頁鏈接

      app_uinterest

      string

      站點用戶擅長領域

      app_url

      string

      站點鏈接

      pic_urls

      string

      回答圖片url,多個用逗號分隔

      說明:如果回答中包含圖片,需要保證該圖片可被百度抓取;


        接口返回

      格式:json響應
      規則:接口調用成功會返回questionid和replyid,否則有相關errno和errmsg標識錯誤原因。

      範例:
      {
         “errno”:0,
         “errmsg”:”sucess”,
         “data” : {“questionid”:”125500604044”, “replyid”:”12394838223”}
      }

      如果返回的errno不為0,可以查看錯誤碼含義和常見問題,點此查看


        示例代碼

      <?php
      /************************************回答提交demo******************************************/
      /**
      * 根據本次請求內容,動態構建sign參數
      * $appKey  百度知道為您分配的appkey
      * $securityKey 百度知道為您分配的安全秘鑰
      * $post 本次您將要發送給百度知道的POST數據,數組格式,UTF8編碼
      */
      function buildSign($appKey, $securityKey, $post) {
          $qid = isset($post['questionid']) ? $post['questionid'] : '';
          $title = isset($post['title']) ? $post['title'] : '';
          $content = isset($post['content']) ? $post['content'] : '';
          return md5("$securityKey&$appKey&$qid&$title&$content");
      }

      //百度知道分配的兩個key
      $appKey      = '1000';
      $securityKey = '918FD1F01DAE2F0F039B25EE0B64486D';

      //組織發送包
      $post = array();
      $post['questionid'] = '1378130862187018300';
      $post['content']    = '這是回答內容';
      $post['app_uid']    = '345';
      $post['app_uname']  = '小麗';
      $post['app_uprofile'] = 'heihei';
      //其他參數可按照api文檔填充即可

      //組織發送包裏的2個權限參數
      $post['appkey'] = $appKey;
      $post['sign']   = buildSign($appKey, $securityKey, $post);

      //發起post請求
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_COOKIESESSION, false);
      curl_setopt($ch, CURLOPT_URL, "https://https://220.181.163.143:8080/openapi/submit/reply");
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($field));
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: '));

      //解析結果
      $chRes = curl_exec($ch);
      //交互失敗
      if ($chRes === false) {
          echo 'send failed, error' . curl_errno($ch);
          exit();
      }

      //解析返回結果
      $js = json_decode($chRes, true);

      //打印返回的json數據
      Header('Content-type:application/json; charset=UTF-8');
      var_export($js);
      ?>

    • API接口-提交接口-追答

        接口概述

      本接口,用來對某個問題下的指定回答進行追答。


        接口URL

      /openapi/submit/rereply


        接口參數

      參數名

      類型

      必需

      描述

      questionid

      string

      問題標識id

      replyid

      uint

      回答標識id

      content

      string

      追答內容,最長2000字符或1000漢字。

      app_uid

      uint

      站點用戶ID

      app_uname

      string

      站點用戶名

      pic_urls

      string

      追答包含的圖片url,多個用逗號分隔


        返回接口

      格式:json響應
      規則:接口調用成功時會返回errno為0,否則有相關errno和errmsg標識錯誤原因。
      舉例:
      {
         “errno”:30000,
         “errmsg”:”Request params not valid”
      }

    • API接口-訂閱接口-必讀規範

        訂閱規範

      百度知道一旦通過您應用的訂閱申請,將會實時地將您訂閱的消息推送給您提供的接口。


        安全參數

      當百度知道向您的接口提交數據時,您可以提供您所需要的安全校驗方式,目前支持兩種:

      方式一:靜態安全參數,可以指定必須攜帶的固定參數,參數可以為多個;
      【舉例】
      假設給您的所有提交都需要攜帶key和token參數,您可以給我們提供這樣的字符串:
      key=xxxxx&token=xxxx,這樣我們的所有請求都會攜帶這兩個參數了。

       

      方式二:動態安全參數,如果您的安全參數不是固定的,那麼需要您提供相應的生成函數(使用php語言實現),該函數名固定為buildSecurity,輸入固定為本次請求的POST字段列表(數組形式),輸出為需要攜帶的安全參數。

      【舉例】
      某網站需要根據key和qid、title、create_time一起生成一個sign字段,於是他們需要提供這個函數給我們:
      function buildSecurity($data) {
          $key   = ‘xxxxxxxxxxx’;
          $qid   = isset($data[‘questionid’]) ? $data[‘questionid’] : ‘’;
          $title = isset($data[‘title’]) ? $data[‘title’] : ‘’;
          $ctime = isset($data[‘create_time’]) ? $data[‘create_time’] : ‘’;
          
          $sign = md5(“$qid$title$ctime$key”);
          return “sign=$sign”;
      }
      我們在請求時,會獲取這個函數的返回並攜帶到提交請求裏。


        編碼規範

      所有接口涉及的字符,均使用UTF8編碼。提交均采用POST方式。


        接口返回

      百度知道回調的所有接口,不論成功與否,請務必返回json格式,且包含的字段必須如下所示:
      {
         “errno”:0,                //操作是否成功,0成功,非0不成功
         “errmsg”:”success”,     //操作結果描述,如果中文,請使用utf8編碼
      }

      如果回調返回的http code為200,且errno字段存在(不論是否為0),則認為本次交互已經成功,操作結束。

      否則認為回調失敗,會一直重試直至成功。

    • API接口-訂閱接口-提問通知

        接口概述

      本接口用來做待解決問題的推送,當百度知道產生符合應用規則的問題時,將通知到應用方,應用方接收到該問題後,可以推送到各個回答入口去引導用戶回答。


        訂閱要求

      如果您需要訂閱該接口,需要您提供以下信息:


      訂閱信息項

      說明

      接收通知的url

      必填

      展現圖片的域名

      可選,如果您需要展現百度知道的圖片,請提供域名

      訂閱規則

      可選


        訂閱規則

      接入的應用可根據自身應用特點定製一些問題特性,隻有當問題符合您定製的特性時,該問題才會推送給您的應用。


      特性列表

      說明

      每日問題上限

      默認不設上限

      每日問題下限

      默認不設下限

      定製分類

      可定製多個分類,一旦問題屬於該分類,將優先推送

      定製關鍵詞

      可定製多個關鍵詞,一旦問題標題匹配該關鍵詞,將優先推送

      定製地理標簽

      可定製多個地理標簽,一旦問題匹配該地理標簽,將優先推送

      屏蔽分類

      可屏蔽多個分類,一旦問題屬於該分類,將取消推送

      屏蔽關鍵詞

      可屏蔽多個關鍵詞,一旦問題標題匹配該關鍵詞,將取消推送

      屏蔽富文本

      可屏蔽多類富媒體,一旦問題包含該富媒體,將取消推送



        接口參數

      在使用此接口前,請您仔細閱讀訂閱規範,點此查看


      參數名

      類型

      描述

      question_id

      string

      問題編號,不超過32個字符

      title



    •  回答質量

       

      優質回答指可以解決當前提問的回答;

      低質回答指回答灌水、答非所問、不解決提問等情況,且不僅限於此;

      違規回答指回答內容包含違法、淫穢、詐騙、侵權、廣告等內容,且不僅限於此。

      1) 優質回答占比80%以上,可保持良好合作關係;且百度知道會和合作網站溝通繼續提升接受問題量。

      2) 優質回答占比低於30%,百度知道將和合作網站溝通協調,給予指導,希望合作網站在7天內優化改進;如改進無效,將暫停雙方合作。

      3) 低質回答占比達到10%以上,百度知道將和合作網站溝通協調,給予指導,希望合作網站在7天內優化改進;如改進無效,將暫停雙方合作。

      4) 如發現合作網站有違規回答,百度知道將予以警告;警告1次,希望合作網站在3天內優化改進;如再犯,給予第2次警告,且問題推送量降低50%;如再犯,將直接取消雙方合作。

       

       

      如有疑問請隨時反饋“知道開放平台互助QQ群”:52325831

       

       

       

       

       

       


       

    • 常見問題                            申請加入百度知道開放平台需要什麼條件?

      1、BBS論壇或網站已有問答類產品

      2、有一定的用戶基礎

      3、具有較強的貢獻能力


      如何加入百度知道開放平台?

    • 正式上線後,關於24h回答覆蓋率和回答質量考核,請點擊詳情介紹  https://help.baidu.com/question?prod_en=zhidao&class=611&id=1001242


      24h回答覆蓋率(覆蓋率=有回答問題數/推送問題總數)

       

       (注:合作網站若是由編輯或運營解答問題的站點,節假日和周六日可不計入考核期)

      1)按合作網站每日接收問題量,24h回答覆蓋率期望達到80%以上,可保持良好合作關係

      2) 如連續3天覆蓋率低於30%,百度知道將和合作網站溝通協調,建議合作網站改進;如溝通失敗或改進無效果,問題推送量將降低50%;如覆蓋率仍低於30%,將暫停雙方合作。

       

      正式上線後,如需增加關鍵詞,請進入“申請信息頁”(https://zhidao.baidu.com/opendev/center/apply)

      下載官方推薦的關鍵詞表選擇適合的關鍵詞提供給百度官方負責人

       

       測試成功後,請點擊“申請上線”(https://zhidao.baidu.com/opendev/develop/index?type=10),等待官方審核通過後正式上線

       

       

       

       

       

      需要站點調用API接口啟動開發完成後,

                   需要進入百度知道開放平台自助聯測平台(https://zhidao.baidu.com/opendev/develop/index?type=1

                    您可以對您所訂閱的百度知道開放平台各個接口進行線下聯調測試,祝您一切順利! 

      審核通過後,知道開放平台係統會將AppKey以郵件形式發送至您提交申請時填寫的電子郵箱中,請注意查收;

      審核未通過,同樣會收到知道開放平台係統發出的郵件,請按郵件上標明的聯係方式與我們聯係;

      4)正式上線:

最後更新:2016-12-28 13:50:17

  上一篇:go 成長體係
  下一篇:go 知道行家認證