将BO-Blog博客同步发布到新浪微博上

一直有这个想法,想发布博客的同时,也同时发布到新浪的微博里。
起始是用新浪微博的那个“微博同步”应用,试了几次,却不见一点效果,只好放下了。在BO-Blog的论坛搜索了一下插件,没有,只好自己动手了。由于没有写过BO-Blog的插件,不熟悉,只好直接修改文件了。下面就是我的动手打造过程:

1、首先下载新浪微博的API(PHP版),上传weibooauth.php文件到admin目录。
2、打开admin/cp_edit.php文件,然后在610行左右,找到:


if (($job=='store' && !$pinged) || ($job=='restore' && $resend!=1) || ($job=='restore' && !$pinged)) {
    catchsuccess ($finishok, array("{$backtowhere}|".get_entry_url($currentid, $blogalias), $backtoaddnew));
  }

3、在这个条件中加入我们的同步到微博的功能,改造后如下:


if (($job=='store' && !$pinged) || ($job=='restore' && $resend!=1) || ($job=='restore' && !$pinged)) {
    if($job=='store'){
      $weibo_txt= "{$title}  /".get_entry_url($currentid, $blogalias);
      include_once( 'weibooauth.php' );
      
      @define("WB_AKEY", '申请到的AKEY');
      @define("WB_SKEY", '申请的AKEY');

      $oauth_token = "利用KEY生成的令牌";
      $oauth_token_secret = "利用KEY生成的令牌";

      $c = new WeiboClient(WB_AKEY , WB_SKEY, $oauth_token, $oauth_token_secret);
      $c->update( $weibo_txt );
    }
    catchsuccess ($finishok, array("{$backtowhere}|".get_entry_url($currentid, $blogalias), $backtoaddnew));
  }

这里需要说明的就是$oauth_token和$oauth_token_secret 的值的得到与使用,其实都是通过新浪微博的API修改一下KEY,然后将这两个值输出一下就OK了。当然如果那位有需要,我可以提供一个生成平台。

同步效果截图:
[img][attach]426[/attach][/img]

这里只所以如此操作,将令牌硬编码到代码,是为了避开手动授权。

发表评论