使用新浪微博开放平台api同步微博内容至自己网站(网络真是麻烦怎么办?指令是做什么的?)

优采云 发布时间: 2022-01-06 19:04

  使用新浪微博开放平台api同步微博内容至自己网站(网络真是麻烦怎么办?指令是做什么的?)

  是不是因为我不是这个专业的?突然觉得上网真的很麻烦,尤其是要实现某个功能的编程,但是如果有时间,我会学习的。毕竟,我自己的程序可以让自己放心,没有广告,没有垃圾,并且知道哪个指令做了什么。

  我前天注册了一个IFTTT账号。我刚注册后没用过。我使用了其他人分享的食谱来构建自己的同步并实现 Twitter 的定时天气预报。后来发现自己想实现的某个功能很难找到,于是自己尝试了一下。搭建一个其实很简单,但是有一种人叫-新手,我也是新手,不过现在可以了。

  昨天突然想把推特和国内的微博同步,但是因为是国内的微博,IFTTT对自己的服务质量和国内的各种网络监控和防火墙造成了困难,最后想出了解决办法。: 搭建一个wordpress(有免费的,我最后给),用搭建好的wordpress作为转账,此时IFTTT支持twitter同步到wordpress(配方点这里,我设置了原创时间转账,所以评论的转推不会同步),Facebook和Tumblr也是一样的,下面是一样的。这只是完成了一个中介;

  下一步就是将wordpress中的博客内容(申请WP教程)同步到各个微博。这个过程可以在 wordpress 插件的帮助下实现。我总共测试了两个插件:

  一、wp-sns-share

  这个插件已经测试可以实现手动发博文,但是IFTTT自动发的文章不会自动转发,所以放弃了。如果手动更新,可以选择。

  二、新版微博通同步

  本插件经过测试,可以很好的实现以上功能,目测延时很短。设置时,您只需登录您注册的微博通账号即可。缺点是需要额外申请微博通账号并自动发布。's微博显示“微博通发布”,他对新浪微博的授权有时间限制:30天,其实还不错,一个月就新授权一次

  三.代码方法(20140320补充,来自+King Goo的博客)

  该方法需要使用新浪的接口,如下:

  1) 前往新浪微博开放平台创建站内应用。审核通过也可以,审核通过了就可以在微博下展示某博客的申请,比如某博客。你可以在谷歌搜索上创建就可以了,很简单(但是如果你没有通过审核想通过审核,我可以提供付费帮助嘎嘎~),创建应用后需要使用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==' );

$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );

}

}

add_action('publish_post', 'post_to_sina_weibo', 0);

  你可能应该知道这意味着什么

  如果(wp_is_post_revision($post_ID))返回;

  //如果是修改版 $get_post_info = get_post($post_ID);

  //获取文章信息

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

  //文章Content(不知道为什么使用了所有post_ID数据后获取不到内容,所以只在请求下)

  $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 ='';

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

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

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

  // $source 的值是应用程序的A*敏*感*词*ey

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

  //'bate64编码加密'的位置在这里,你可以自己加密你的账号和密码,格式为你的新浪微博登录账号:登录密码(例如:密码)

  //如果你不喜欢用这种方式 $headers = array('Authorization' =>'Basic '.'Bate64 encoding encryption'),就用下面的方法代替,一样

  //您的新浪微博登录名

  $用户名 = ";

  //您的新浪微博登录密码

  $密码 = ”;

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

  最后,在您发送博文后,一条消息将立即同步到微博

  微博接口请求参数:

  必需的

  类型和范围

  操作说明

  来源

  错误的

  细绳

  OAuth授权方式不需要该参数,其他授权方式为必选参数,值为应用的A*敏*感*词*ey

  地位

  真的

  细绳

  发布的微博文字内容必须经过URL编码,内容不得超过140个汉字。

  可见的

  错误的

  整数

  微博可见度,0:所有人可见,1:只有自己可见,2:密友可见,3:指定群组可见,默认为0。

  访问令牌

  错误的

  细绳

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

  list_id

  错误的

  细绳

  微博的受保护传递指定了组ID,仅当visible 参数为3 时才生效,并且是必需的。

  纬度

  错误的

  漂浮

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

  长

  错误的

  漂浮

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

  注释

  错误的

  细绳

  元数据主要是为了方便第三方应用记录一些适合自己使用的信息。每个微博可以收录一个或多个元数据,必须以json字符串的形式提交,字符串长度不能超过512个字符。具体内容可定制。

  这几乎是我这两天所做的。为了测试这个同步,我变得可笑了。昨天刷了半天,呵呵。

  

  还有一个推特机器人,可以实现一些关键词自动回复、自动推文和常规推文,网址:点此。有英文和日文两种语言,看看应该能操作。

  接下来大家可以看看我同步的结果,我的推特,我的wordpress,我的新浪微博,我的腾讯微博,因为那个推特的图片都是链接的形式,所以对于有图片的推文,有同步时会报错:missing or missing。

  最后吐槽:尼玛的FGW!!!!!!!!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线