Tag Archives: 新浪连接

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

WordPress连接新浪微博插件:wp-tsina和sina-connect

最近其他的社交网站都不太上了,也就是新浪微博每天还会看看,顺便也把自己的文章同步到微博上,就当是打广告了。

原先用的一直是wp-tsina,主要是功能比较单一,用起来也比较简单,但是似乎不太稳定,感觉好像从草稿箱发布post的时候有问题;最近是彻底不行了。网上也没找到什么资料,作者的主页也打不开了,似乎是太监了。

试着自己修复一下,但是没什么有用的信息,只在error_log里头找到一行:

[11-Sep-2012 11:11:04] PHP Warning: session_start() [<a href=’function.session-start’>function.session-start</a>]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and ‘-,’ in /home3/shelunet/public_html/wp-content/plugins/wp-tsina/wp-tsina.php on line 12
但是是9月11日的,可是这插件是10月份还能用,而且后面发Post他没有同步也没有报错,只有放弃了。

在他的源文件夹下有一个connect_issue.txt,上面说:
如果你正在使用sina-connect插件,可能会出现无法登陆的状况。
暂时的解决办法:
打开sina-connect下的sinaOAuth.php,把下面这行:
require_once(‘OAuth.php’);
改为:
if( !class_exists( ‘OAuthToken’ ) ){
require_once(‘OAuth.php’);
}
即可。

新浪连接(sina-connect)我没用,但是既然提到了那我就看看吧,功能比wp-tsina要多一些,不但可以自动同步到新浪微博,也可以让评论者用微博帐号来登录,也可以选择是否同步评论到微博,这功能也还是蛮有意义的,可以提高评论率,先试试看吧,看他是不是稳定。

装完了配置也很简单,安装激活之后,你应该在留言框处可以看到用新浪微博登录的按钮(注意要先退出原来的WordPress登录)。如果没有的话按照说明自己改一下comments.php