Discuz教程网

百度知道开放平台接口开发

[复制链接]
authicon dly 发表于 2012-3-25 09:29:46 | 显示全部楼层 |阅读模式
公司网站搭上了百度知道的开放平台,看了一天的接口文档,云里雾里的,网上的资料也不多,又咨询了下其他接过这个的同行,才明白流程,如下:

1、申请合作平台(这个就不用说了,关键说如何进行用户整合)

2、官方api文档要求提供四个主要请求地址:

   a、用户登录url
   这个其实就是点击知道平台的登录要跳转的地址,就是网站登录页所在地址,以我们网站为例:
Java代码


  1. http://www.gbicom.cn/user.php?act=login&callback=http://zhidao.gbicom.cn/user/login_finish  
复制代码
测试的时候这个地址要能展示登录页,其中callback这个参数的名称可以自定义,但后边一定要写成/user/login_finish的形式,官方文档中少了/user/
   在这个登录的程序中,利用原登录的逻辑,主要是在登录成功后将用户的uid或uname加密成串写入cookie中,cookie的名字要唯一,以便后边验证调用,然后进行跳转,如下:
Java代码   

  1. header("Location:http://zhidao.gbicom.cn/user/login_finish?&token=XXX");
复制代码

其中的XXX就是上面加密后的值.
   
   b、用户身份验证url
Java代码
  1. http://www.gbicom.cn/user.php?act=auth&token=****
复制代码


   因为知道有好几个页面,因此在a中的请求完成后,百度会根据token的值去寻找网站大域下的cookie,这个cookie即是上一步中生成的cookie,两者如果相同,即验证成功,返回数据如下:errno=0&uid=***&uname=***
如果失败,则会返回errno=-2或errno=-1(这个根据具体情况)
其中uid和uname即利用百度请求的token值进行反解后生成的值,可直接echo出上述结果,例如:
Php代码  

  1. if($result){  echo "errno=0&uid=***&uname=***";}else{  echo "errno=-1";}
复制代码

记住,不要返回其他无关内容!并且在验证中绝对不能利用刚才的cookie验证,要读取数据库或反解token来生成结果!!
    c、用户退出url
    Java代码
  1. http://www.gbicom.cn/user.php?act=logout&token=*****&callback=http://zhidao.gbicom.cn/user/exit
复制代码


在这个请求中要删除生成的cookie,并且跳转到 http://zhidao.gbicom.cn/user/exit.
    d、用户注册url:
Java代码
  1. http://www.gbicom.cn/user.php?act=register&callback=http://zhidao.gbicom.cn/user/login_finish
复制代码


官方又少了/user/(鄙视下),注册成功后就像登录一样跳转到:
Java代码
  1. header("Location:http://zhidao.gbicom.cn/user/login_finish?&token=XXX");
复制代码

    e、cookie的名称:
这个就是存储token值的cookie名称,可以随意命名,主要为了使百度能进行token值比对。

在没有向百度提交之前进行本地的测试,即输入这些地址,查看结果,这个文档里有checklist,已经说的很清了!
其他的就没有了,注意一定要严格按照上述的url格式,不能少一个参数,否则会发生各种错误!!
上边只是接口的逻辑细节,如果要进行二次开发,要针对不同系统逻辑进行改造,但主要还是上述的内容,其他的积分兑换之类的以后遇到了再说!!

测试成功后即可填写如下项目向百度平台人员提交,很快就接上了!
站点名称
站点域名
联系Email
登陆接口URL
注册接口URL
验证接口URL
登出接口URL
Cookie中存储Token的名称项

来自:http://bryant24.iteye.com/blog/815664



上一篇:帮忙看看问题
下一篇:关于版主已阅1.2的问题
authicon 爱我微笑 发表于 2012-4-11 14:51:52 | 显示全部楼层
看过~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-4-29 23:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表