同时在用twitter和新浪微博,在twitter上主要看贴为主,在新浪微博上发帖比较多。于是就想到是否搞一下将新浪微博同步到twitter上。搜索了下,发现月光博客上提供了解决方案,不过稍有遗憾的是没有图片的同步。于是就自己用asp.net实现了下,用下来感觉还行,所以分享一下,同时提供源代码,如果有定制开发的朋友可以修改源码,但如果再发布时候,请注明出处,先谢谢了!
部署在家里机器上,可能不稳定。
用FeedBurner绑定Twitter,在FeedBurner中配置Rss源到SinaFeed应用。当FeedBurner每次来ping的时候,SinaFeed抓取新浪微博的内容,检查是否已经抓取过,把结果保存在Access数据库中,返回Rss给FeedBurner。
在Web.Config里,有以下几个可以配置的选项:
代理服务器相关,例如你的网站访问外网需要代理的话,请设置一下配置:
UseProxy , ProxyAddress, ProxyPort, ProxyDomain, ProxyUserName, ProxyUserPassword
AuthCodeConfig 配置在应用里的授权码,自己设定一个,例如abc,当外面请求RSS的时候,需要在Url传递一个AuthCode,要和所配置的(abc)一直,程序才会返回结果,否则报Authentication Error错误。
AllowedUserIds 允许被处理新浪微博Id,如何得到你的Id?只要点击“关注”,在Url里就会出现你的Id,例如,我的Id是:1650422717 。SinaFeed支持多个Id,用逗号(,) 分割。
RssChannelUrl 所生成的Rss的ChannelUrl
RssBaseGuid 所生成的Rss的唯一标识
RssTitle 所生成的Rss的标题
RssDescription 所生成的Rss的描述
例如,你部署在www.example.com上,虚拟目录为SinaFeed,你的新浪Id为1650422717,AuthCodeConfig你配置了jinweijiesinafeed那么
访问http://www.example.com/SinaFeed/Default.aspx?SinaUserId=1650422717&AuthCode=jinweijiesinafeed
就可以得到用户1650422717的Rss了。
另外的一些可传参数的配置:
UseOriginalImage 是否使用原来的大图片,默认True,如果False的话,将会使用新浪微博的缩略图。
RssMaxItemCount 返回RSS Items的最大数量。
AttachImageToEnclosure 是否将图片已Enclosure的方式发布到RSS
AttachImageToTitle 是否将图片地址添加到RSS Item的Title后面。
AttachImageToDescription 是否将图片地址添加到RSS Item的Description后面。
AttachOriginalMblogToRT 如果是转发微博,是否添加原微博到。
一般我的配置:
新浪微博:
Twitter:
有了RSS,然后我们就可以配置FeedBurner来绑定Twitter帐号了。
有任何问题可以加我的微博进行讨论。我的新浪微博和twitter都是@jinweijie 。谢谢!