Jason's blog
We have so many needs in our life, but at the end of the day, all we need is...to be needed.

         最近在研究各种api,本来要先搞人人的api,但人人的各种申请太繁琐了,.NET的skd很好用,代码写的很简单,但是php的那份死活调不通,作者也已经好几个月没有更新过了,同时有几个特别想测试的api偏偏需要申请,你说这学习研究阶段,懒的去申请,所以就暂缓搞人人的api了。这两天在新浪云里面整了个应用,顺便了解下新浪的api。

         首先,需要注册新浪开发者账户,http://open.weibo.com/,当然可以使用新浪微博登录,不过对账户信息有限制,很简单,通过邮箱认证下即可。(今天很奇怪,新浪的认证用不了网易的163邮箱,估计这俩公司又闹起来了,呵呵,qq的倒能用)。

        然后要创建一个新应用,一共有三种形式的应用:

    1. 站内应用
      1. 就是创建站点,说是站内应用,其实从站外也可以访问的;
      2. 可以从应用设置中设置站内访问地址,和实际地址,这跟非死不可一样,就是在app页面中用iframe中嵌套的那个页面;
      3. 安全设置中可以选择是否限定域名,如果不限定域名,那么你可以用这个appkey和secret key做很多网站,学习测试最好不要限制,如果运营最好要做限制。
    2. 客户端
      1. 可以开发客户端。
    3. 其他
      1. 浏览器插件什么的。

       我们创建的自然应该是站内应用了,设置还算比较简单。新浪的开发文档看起来很简单,至少比非死不可的简单多了:

        http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

       它的php sdk在这里:

       http://code.google.com/p/libweibo/

      直接就有介绍,看着不错,下载了一份放到apache的htdocs目录,然后按照介绍中写的进行操作。

      有问题了,说明里面有:

CANVAS_PAGE为“应用页面”中设置的”站内应用地址“

        这个说法,但config.php中并不包含这部分,算了,不管了,估计用不着。但运行的时候却出错了。

       

       错误1: Notice: Undefined index: SCRIPT_URI in D:\Apache2.2\htdocs\sinaapp\index.php on line 13

       这个错误仅仅是个提示,但他会影响到认证成功后返回的路径。网上也有很多人问该问题,有人说要启用apache的mod_rewrite模块,但我试过了,启用似乎不解决问题,也有人说需要启用php的php_curl扩展,我查了,我也启用了。问题的出处是访问$_SERVER['SCRIPT_URI']这个值的时候,访问不到,而许多人也说SCRIPT_URI并不是内置的。最终也没有查到,不知道作者是不是启用了其他不常用的扩展或者模块,但是我们可以自己来处理:在访问前定义下:$_SERVER['SCRIPT_URI']='http://yoururl’,就可以了。

      错误2:乱码

      认证成功后,页面上全是乱码,用记事本把所有的php文件另存为utf8,windows的(似乎作者上传的是linux下编写的php,但是问题仍旧很奇怪)

      错误3:浏览器兼容性

      这个还不知道是怎么回事,反正用chrome浏览器打开后,运行是不正常的,换firefox下可正常使用,这个实在奇怪,服务器端的代码,难道还挑客户端的浏览器?

 

      好了,今天先写到这里吧。对这些问题有研究的朋友,不妨告知。

posted on 2011-08-25 15:26  Jason .Z  阅读(1512)  评论(2编辑  收藏  举报