Typecho微博文章同步插件(WeiboSync)
当发布文章时,能够将文章的标题和链接同步至你的微博
这种插件本来Typecho是有的(在Typecho Fans的Repositories能找到),不过由于微博接口的更新,都用不了了。所以就有了这个插件。相比于WordPress的来说就是没有文章摘要,文章摘要机芯并不知道要如何调用出来,所以就只能这样了。上传图片那个就没做,个人感觉没有必要(为自己不会做而找借口)。至于为啥是发布或更新文章都会更新微博...好吧我真的不会判断(已于2018-06-07提交1.0.1版修复) 这个插件好歹我也是东拼西凑一边搜一边做出来的,还有微博的那蛋疼的get式post让我走了很多弯路...(接口要求post,需要向请求url上向get那样把要传的值都给拼上去,然后post出去,至于post啥内容...我这边post的是一个空array)
Github地址:
使用说明
- 下载之后,请把文件夹重新命名为
WeiboSync
后再启用插件,否则可能会出问题 - 文件夹内的
oAuth.php
可放在你站点的任意目录下 oAuth.php
设计本来只是一次性设置的活,故没给集成到插件本体中,所以oAuth.php
内的配置项要手动配置使用之前务必先把插件设置内的两个选项填好了,否则提交文章的时候可能会白屏
使用步骤
- 把
Oauth.php
放在一个你比较喜欢的位置,例如我把他放在了//shangjixin.com/oAuth.php
那块 进入这个文件,填写一些必要的信息(在此之前,你要注册好你的微博开放平台,申请的类型为微连接 - 网页应用),
$client_id
和$client_secret
填写你在微博开放平台获取到的这两个值(位于应用信息->基本信息)client_secret务必要妥善保存,不要告诉其他人。下面是一段填写示例<?php //设置区开始 $client_id = '在你微博开放平台里自己对号入座去'; $client_secret = '在你微博开放平台里自己对号入座去'; $return_url = '如上文中第一步的例子 //shangjixin.com/oAuth.php'; //设置区结束
- 去微博开放平台内的基本信息->高级信息,把授权回调页那俩给设置成
oAuth.php
所在的文件路径后加上?return
,即oAuth.php?return
,以第一步举的例子为例,完整的路径就应该是//shangjixin.com/oAuth.php?return
访问你的
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"}
- 将从Github下载下来的文件夹改名为
WeiboSync
(同"使用说明-1"),放入Typecho的plugins文件夹内,同时你可以选择性的把oAuth.php
这个文件删掉(如果你在"使用步骤-1"时将这个文件转移到了其他的地方) - 进入后台启用插件,填写好
Access_Key
(即access_token),并自定义设置选项"微博大括号内内容",两者均为必填选项,否则提交文章时会白屏(同"使用说明-4") 记得定时更新你的
Access_Key
(即access_token),保鲜期一旦过了,插件本体就失去了对你微博账户的控制权,请使用oAuth.php
重新生成新的access_token常见BUG
- 返回的值和这里介绍的不一致&PHP报错
请确定你输入的值的正误 - 昨天能提交,第二天天咋就趴窝了?
未审核应用请尽快去审核,未审核应用的token保鲜期为一天,如果已经审核过了的话,请注意token的保鲜期为30天,请注意更新 - 插件部分无法使用
请将下载下来的文件夹的名字删成WeiboSync
后再去启用插件,且WeiboSync
文件夹内必须有那个Plugin.php
文件,oAuth.php
可放入别处,看你具体爱好 - 等待补充
...
这玩意儿真好,感谢博主
有的文章没同步...
只能同步最新发表的文章
是 就是最新
详细点说吧 是有的送出去了还是全送不出去 复现的步骤请提供一下
有的送不去,我还是长期测试下吧
可以,涨知识
Bad Request怎么解决
请阅读插件的使用教程 oauth.php不能直接访问 回调地址请加?return 登录拿accesstoken请加?login
标题能换成内容就完美了。
实验成功了 但是只同步了一篇文章,其他的不会同步
同步事件是与文章发布的动作是同步的,也就是说只会同步安装完插件之后新产生的有效文章
但是最新的文章也没有同步成功,不知道哪的错误
测试失败QAQ
登录拿accesstoken时,点击蓝色链接跳转后出现:
用微博帐号登录出错了!
对第三方应用进行授权时出现错误,请您联系第三方应用的开发者: xxxx或者稍后再试。
错误码:21322
重定向地址不匹配
这是啥意思?
returnurl设置错了吧 returnurl在微博开放平台设置(授权回调页,(路径/oAuth.php?return),注意区分大小写)
嗯,谢谢,后来发现是大小写错误,但是配置完access_token之后。发布新的文章,发现微博并没有同步。不知道为什么。