Typecho微博文章同步插件(WeiboSync)

尚寂新
尚寂新
2018/06/06 22:31

当发布文章时,能够将文章的标题和链接同步至你的微博

演示效果
演示效果

这种插件本来Typecho是有的(在Typecho Fans的Repositories能找到),不过由于微博接口的更新,都用不了了。所以就有了这个插件。相比于WordPress的来说就是没有文章摘要,文章摘要机芯并不知道要如何调用出来,所以就只能这样了。上传图片那个就没做,个人感觉没有必要(为自己不会做而找借口)至于为啥是发布或更新文章都会更新微博...好吧我真的不会判断(已于2018-06-07提交1.0.1版修复) 这个插件好歹我也是东拼西凑一边搜一边做出来的,还有微博的那蛋疼的get式post让我走了很多弯路...(接口要求post,需要向请求url上向get那样把要传的值都给拼上去,然后post出去,至于post啥内容...我这边post的是一个空array)
Github地址:

(直接下载master分支就好)

使用说明

  1. 下载之后,请把文件夹重新命名为WeiboSync后再启用插件,否则可能会出问题
  2. 文件夹内的oAuth.php可放在你站点的任意目录下
  3. oAuth.php设计本来只是一次性设置的活,故没给集成到插件本体中,所以oAuth.php内的配置项要手动配置
  4. 使用之前务必先把插件设置内的两个选项填好了,否则提交文章的时候可能会白屏

    使用步骤

  5. Oauth.php放在一个你比较喜欢的位置,例如我把他放在了//shangjixin.com/oAuth.php那块
  6. 进入这个文件,填写一些必要的信息(在此之前,你要注册好你的微博开放平台,申请的类型为微连接 - 网页应用),$client_id$client_secret填写你在微博开放平台获取到的这两个值(位于应用信息->基本信息)client_secret务必要妥善保存,不要告诉其他人。下面是一段填写示例

    <?php
    //设置区开始
    $client_id = '在你微博开放平台里自己对号入座去';
    $client_secret = '在你微博开放平台里自己对号入座去';
    $return_url = '如上文中第一步的例子 //shangjixin.com/oAuth.php';
    //设置区结束
  7. 去微博开放平台内的基本信息->高级信息,把授权回调页那俩给设置成oAuth.php所在的文件路径后加上?return,即oAuth.php?return,以第一步举的例子为例,完整的路径就应该是//shangjixin.com/oAuth.php?return
  8. 访问你的oAuth.php?login,以第一步的例子为例,链接就应该是//shangjixin.com/oAuth.php?login,点击进去之后里面有个蓝链,点进去输入自己微博的账号密码(这个页面即为微博的oAuth),然后登录完之后微博的oAuth会返回一段json串,大概是下面这样的,"手动马赛克"的那个部分(access_token)即为我们所需要的参数,这个参数同样也要妥善保存,不要告诉其他人。此处的oAuth.php不要删除,微博的access_token是有过期时间的,没过审核的话保鲜期为一天(测试用),过审核的话保鲜期为30天。

    {"access_token":"手动马赛克","remind_in":"XXXX","expires_in":"XXXXX","uid":"XXXXXX","isRealName":"true"}
  9. 将从Github下载下来的文件夹改名为WeiboSync(同"使用说明-1"),放入Typecho的plugins文件夹内,同时你可以选择性的把oAuth.php这个文件删掉(如果你在"使用步骤-1"时将这个文件转移到了其他的地方)
  10. 进入后台启用插件,填写好Access_Key(即access_token),并自定义设置选项"微博大括号内内容",两者均为必填选项,否则提交文章时会白屏(同"使用说明-4")
  11. 记得定时更新你的Access_Key(即access_token),保鲜期一旦过了,插件本体就失去了对你微博账户的控制权,请使用oAuth.php重新生成新的access_token

    常见BUG

  12. 返回的值和这里介绍的不一致&PHP报错
    请确定你输入的值的正误
  13. 昨天能提交,第二天天咋就趴窝了?
    未审核应用请尽快去审核,未审核应用的token保鲜期为一天,如果已经审核过了的话,请注意token的保鲜期为30天,请注意更新
  14. 插件部分无法使用
    请将下载下来的文件夹的名字删成WeiboSync后再去启用插件,且WeiboSync文件夹内必须有那个Plugin.php文件,oAuth.php可放入别处,看你具体爱好
  15. 等待补充
    ...
已有 17 条评论 (旧评论在前)
  1. 咖喱gaigai
    回复
    2018-06-13 07:40 Android 5.1.1

    这玩意儿真好,感谢博主

  2. 咖喱gaigai
    回复
    2018-06-17 21:23 Android 5.1.1

    有的文章没同步...

    1. 尚寂新 博主
      回复
      2018-06-18 07:21 Android 7.1.2

      只能同步最新发表的文章

      1. 咖喱gaigai
        回复
        2018-06-18 07:38 Android 5.1.1

        是 就是最新

      2. 尚寂新 博主
        回复
        2018-06-18 07:42 Android 7.1.2

        详细点说吧 是有的送出去了还是全送不出去 复现的步骤请提供一下

      3. 咖喱gaigai
        回复
        2018-06-18 07:44 Android 5.1.1

        有的送不去,我还是长期测试下吧

  3. 神偷
    回复
    神偷
    2018-06-19 21:58 Windows NT10

    可以,涨知识

  4. 北至
    回复
    北至
    2018-07-10 20:33 Windows 7

    Bad Request怎么解决

    1. 尚寂新 博主
      回复
      2018-07-28 22:10 Android 7.1.2

      请阅读插件的使用教程 oauth.php不能直接访问 回调地址请加?return 登录拿accesstoken请加?login

  5. cnken
    回复
    cnken
    2018-10-09 00:44 Windows 7

    标题能换成内容就完美了。

  6. 今天不聊天
    回复
    2018-10-23 15:59 Windows NT10

    实验成功了 但是只同步了一篇文章,其他的不会同步

    1. 尚寂新 博主
      回复
      2018-10-24 06:33 Android 7.1.2

      同步事件是与文章发布的动作是同步的,也就是说只会同步安装完插件之后新产生的有效文章

      1. 今天不聊天
        回复
        2018-10-24 15:55 Windows NT10

        但是最新的文章也没有同步成功,不知道哪的错误

  7. 坏鱼炒年糕
    回复
    2019-03-01 01:52 Windows NT10

    测试失败QAQ

  8. 追光者
    回复
    追光者
    2019-06-03 03:31 Windows NT10

    登录拿accesstoken时,点击蓝色链接跳转后出现:

    用微博帐号登录出错了!
    对第三方应用进行授权时出现错误,请您联系第三方应用的开发者: xxxx或者稍后再试。
    错误码:21322
    重定向地址不匹配

    这是啥意思?

    1. 尚寂新 博主
      回复
      2019-06-03 06:34 Android 9

      returnurl设置错了吧 returnurl在微博开放平台设置(授权回调页,(路径/oAuth.php?return),注意区分大小写)

      1. 追光者
        回复
        追光者
        2019-06-03 16:58 Windows NT10

        嗯,谢谢,后来发现是大小写错误,但是配置完access_token之后。发布新的文章,发现微博并没有同步。不知道为什么。

添加新评论 (Markdown Supported)
(ノ°ο°)ノ