刚才把新浪连接(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;
}
这行看不出问题来,但是应该是解析取短链接结果时出错了,所以就试了一下在浏览器中输入:
结果得到:
{"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: 刚才看到新浪连接下面的评论里头也有好多人说遇到了这个问题。。。希望大家能用我的方法解决