从 2011 年开始用新浪微博至今,收藏了不少微博。最近打算把所收藏的微博全部转存到印象笔记中去。
印象笔记提供了一种很便捷的方式,让用户能很方便地保存某条微博。用户将自己的印象笔记账号和新浪微博账号关联起来后,可以通过「@我的印象笔记」的方式很方便地保存自己或别人的微博。具体可以看印象笔记的官方帮助。
如何把自己收藏的微博全部转存到印象笔记中去呢?我的想法是这样的:对于自己收藏的每条微博,
- 评论它,评论内容为「@我的印象笔记」,这样就完成了微博的保存工作。
- 删除自己刚才的评论。这是因为「@我的印象笔记」这样的评论内容对于其他人(发微博的人、看这条微博评论的其他人)来说,没有任何意义,属于信息噪音。删除评论,以减少对他人的干扰。
- 取消对那条微博的收藏。因为微博已经转存好了,留着收藏没有必要。
代码已经写好,用的是新浪微博提供的 Java SDK,代码依旧放在 GitHub 上面,项目名称是 weibo-yinxiang-java。之所以项目名称后面带了 -java 字样,是因为这个项目易用性很差,它完全不是针对普通用户的,只针对程序员(最好是懂些 Java 的程序员)。因此,我希望自己有空能写一个易用性更好的、网页版的程序,开发可能会用 JavaScript,到时侯项目名称可能是 weibo-yinxiang-js。
下面是程序的使用说明。具体也可以看 README.md。
使用方法:
- 下载并配置新浪微博提供的 Java SDK,并获取
access_token
。具体过程可以参考我的上一篇博客 - 下载 weibo-yinxiang-java 项目代码,并将
.java
文件所在目录重命名为weibo_yinxiang
- 将
weibo_yinxiang
移动至weibo4j-oauth2/examples
目录下,相当于在examples
目录下增加了一个新的 package - 运行
weibo_yinxiang
这个 package 下的WeiboYinxiang.java
文件,运行时需要以access_token
值作为参数
注意事项:
- 用「@我的印象笔记」的方式、评论后保存微博,可能保存失败
如果保存失败,@我的印象笔记 账户将会给用户发送微博提醒,其中包含了原微博的 URL 或 id。
但是,目前新浪微博 API 禁止了第三方软件的私信访问权限。
如果新浪微博 API 允许第三方软件访问私信,程序可以通过私信,对之前保存失败的微博重新保存。
因此,目前只能手工处理保存失败的微博。具体方法可以参考 weibo_yinxiang.java
源文件中 main()
函数相关部分代码。
- 新浪微博 API 调用次数限制问题
如果应用程序没有通过新浪微博的审核,则新浪对于接口的调用频次有一定的限制。本应用程序主要使用的的接口是发评论接口,具体限制是:每小时至多 15 次,每天至多 50 次。
参考链接: