解决新浪连接(sina-connect)插件无法自动同步微博的问题

刚才把新浪连接(sina-connect)装完之后也没有测试,就发了上一篇文章 WordPress连接新浪微博插件:wp-tsina和sina-connect,结果悲剧了,微博上没有同步更新。

于是找原因,上面要求说WordPress 3.0以上、PHP 5.2以上和支持CURL扩展,看了一下也都没问题。

后来在日志里找到一行:

[24-Oct-2012 07:39:22] PHP Fatal error: the-problem-when-sycn-wordpress-post-to-tsina-via-sina-connectin /home3/shelunet/public_html/wp-content/plugins/sina-connect/sina-connect.php on line 359

打开sina-connect.php 到359行是这样的:

function get_sina_short_url($long_url){
$api_url = ‘http://api.t.sina.com.cn/short_url/shorten.json?source=744243473&url_long=’.$long_url;
$request = new WP_Http;
$result = $request->request( $api_url);
$result = $result[‘body’];
$result = json_decode($result);
return $result[0]->url_short;
}
这行看不出问题来,但是应该是解析取短链接结果时出错了,所以就试了一下在浏览器中输入:

http://api.t.sina.com.cn/short_url/shorten.json?source=744243473&url_long=https://shelu.net/sync-wordpress-to-tsina-wp-tsina-and-sina-connect/

结果得到:

{"request":"/short_url/shorten.json","error_code":"401","error":"40109:consumer_key_refused!"}

看起来是这个AppKey出了问题,这个好办,网上找一个AppKey试试(我就不给具体的key了,可以自己搜一下新浪微博 AppKey,应该能找到一大堆的),结果就是

[{"url_short":"http://t.cn/zluzKQn","url_long":"https://shelu.net/sync-wordpress-to-tsina-wp-tsina-and-sina-connect/","type":0}]

应该就可以了,所以只要把sina-connect.php 354行的那个Source=后面的数字改掉就可以了。

当然最保险的还是自己去申请一个AppKey,那样你可以保证他不会过期,:)

PS: 刚才看到新浪连接下面的评论里头也有好多人说遇到了这个问题。。。希望大家能用我的方法解决

9 thoughts on “解决新浪连接(sina-connect)插件无法自动同步微博的问题”

  1. 请问数字改成什么能用? 还是需要自己去申请AppKey呢 我也正好碰到这个问题

    1. 用google搜索一下“新浪微博 AppKey”,应该能找到很多结果的。
      因为是未经允许用人家的AppKey,所以我没有直接给出
      自己申请似乎也有点问题,至少我昨天申请的还用不了

      1. 那你测试过现在sina-connect的同步功能是好用的吗?即时同步?还有有延迟呢?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.