WordPress文章同步到新浪微博的三种方法

同步到微博大概有三种方法,插件、关联博客、非插件微博接口

第一种,直接百度搜索就可以;
第二种,由于新浪现在已经取消了关联博客的选项,但该功能却没有被取消你可以放问下面这个地址,然后配置一下就可以了

http://weibo.com/tool/bloglink

第三种方法需要使用新浪的接口,如下操作:
1)到新浪微博开放平台创建一个站内应用http://open.weibo.com/apps/new?sort=app,通过不通过审核都可以,只不过通过的话可以在微博下方显示来自某某应用,如来自KingGoo技术博客image ,具体怎么创建你可以在百度谷歌上搜索一下,很简单(但如果你一直没有通过审核,还想通过审核的话,我可以提供有偿帮助嘎嘎~),创建好应用后,下面需要使用到申请应用的 App Key;
2)编辑你主题的functions.php文件,在其最后加入如下代码

// 微博同步
function post_to_sina_weibo($post_ID) {
  if( wp_is_post_revision($post_ID) ) return;
    $get_post_info = get_post($post_ID);
    $get_post_centent = get_post($post_ID)->post_content; 
    //去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能)
    //$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent)));
    $get_post_title = get_post($post_ID)->post_title;
  if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
    $request = new WP_Http;
    $status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
    $api_url = 'https://api.weibo.com/2/statuses/update.json';
    $body = array( 'status' => $status, 'source'=>'4135063399');
    $headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
	/*
	如果你使用改方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
	换成如下代码
	//你的新浪微博登陆名
	$username = '' ;
	//你的新浪微博登陆密码
	$password = '' ;
	$headers = array( 'Authorization' => 'Basic ' .  base64_encode('$username:$password'));
	*/	
    $result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
    }
}
add_action('publish_post', 'post_to_sina_weibo', 0);

大概一般都应该知道是什么意思吧

if( wp_is_post_revision($post_ID) ) return;

//如果是修订版本

$get_post_info = get_post($post_ID);

//获取该文章信息

$get_post_centent = get_post($post_ID)->post_content;

//文章内容(不知道为什么在使用获取全部post_ID数据后没办法得到content,所以单独在请求下)

$get_post_title = get_post($post_ID)->post_title;

//文章标题

if ( $get_post_info->post_status == ‘publish’ && $_POST[‘original_post_status’] != ‘publish’ ) {

//判断是不是已经发表的文章或页面

$status = ‘【’ . strip_tags( $get_post_title ) . ‘】 ‘ . mb_strimwidth(strip_tags( apply_filters(‘the_content’, $get_post_centent)),0, 132,’…’) . ‘ 全文地址:’ . get_permalink($post_ID) ;

// strip_tags( $get_post_title ) 是获取文章标题

// mb_strimwidth(strip_tags( apply_filters(‘the_content’, $get_post_centent)),0, 132,’…’) 是截取文章的长度

// get_permalink($post_ID) 该文章链接地址

$api_url = ‘https://api.weibo.com/2/statuses/update.json’;

//老接口用不了了,必须用v2.0

$body = array( ‘status’ => $status, ‘source’=>’4135063399’);

// $status 要发布的微博文本内容,内容不超过140个汉字

// $source 数值为应用的AppKey

$headers = array( ‘Authorization’ => ‘Basic ‘ . ‘bate64编码加密’ );

//这里的’bate64编码加密’位置,你自己到http://www.mxcz.net/tools/base64.aspx自己把你的帐号密码进行一下加密,格式是你新浪微博的登陆帐号:登陆密码(如,username@gmail.com:password)

//如果不喜欢这么使用$headers = array( ‘Authorization’ => ‘Basic ‘ . ‘bate64编码加密’ ),就替换使用下面这个方法也可以,一样

//你的新浪微博登陆名

$username = ” ;

//你的新浪微博登陆密码

$password = ” ;

$headers = array( ‘Authorization’ => ‘Basic ‘ . base64_encode(‘$username:$password’));

 

最后会在你发送博文后,马上同步一条信息到微博上,如下图所示:

WordPress文章同步到新浪微博的3种方法


该微博接口请求参数:

必选

类型及范围

说明

source

false

string

采用OAuth授权方式不需要此参数,其他授权方式为必填参数,数值为应用的AppKey

status

true

string

要发布的微博文本内容,必须做URLencode,内容不超过140个汉字。

visible

false

int

微博的可见性,0:所有人能看,1:仅自己可见,2:密友可见,3:指定分组可见,默认为0。

access_token

false

string

采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。

list_id

false

string

微博的保护投递指定分组ID,只有当visible参数为3时生效且必选。

lat

false

float

纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。

long

false

float

经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。

annotations

false

string

元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息,每条微博可以包含一个或者多个元数据,必须以json字串的形式提交,字串长度不超过512个字符,具体内容可以自定。
- THE END -
版权声明:
转载原创文章请注明,文章出处://kinggoo.com
原文地址:https://kinggoo.com/wpsycnweibo.htm
发表评论?

99 条评论。

  1. 现在这个功能还能用么?

  2. 😛 感谢博主,表示已经测试成功
    不过同步过去的都是文本,不可以自动获取图片作为配图,博客能否加上图片的参数的接口呢,先检测下文章是否有图片,有的话就作为配图发布
    此外希望能和博主交个朋友,比如QQ什么的,微博我关注了

发表评论