新浪微博RSS生成器Ver 1.0 同步Twitter帐号

By | March 14, 2011

同时在用twitter和新浪微博,在twitter上主要看贴为主,在新浪微博上发帖比较多。于是就想到是否搞一下将新浪微博同步到twitter上。搜索了下,发现月光博客上提供了解决方案,不过稍有遗憾的是没有图片的同步。于是就自己用asp.net实现了下,用下来感觉还行,所以分享一下,同时提供源代码,如果有定制开发的朋友可以修改源码,但如果再发布时候,请注明出处,先谢谢了!

下载

新浪微博RSS生成器Ver 1.0 发布包

新浪微博RSS生成器Ver 1.0 源代码

部署步骤

  1. 首先,需要一个.Net Framework 2.0以上的IIS环境。
  2. 将SinaFeed_Bin_ver_1.0.zip解压以后,部署成网站或者虚拟目录。
  3. 将包里面的db文件夹赋予network service以及aspnet用户可写权限,偷懒且安全的话,给everyone即可。
  4. 运行起来的话,应该会是个Authentication Error的错误,这是正常的,因为接下来要配置下。

同步原理

用FeedBurner绑定Twitter,在FeedBurner中配置Rss源到SinaFeed应用。当FeedBurner每次来ping的时候,SinaFeed抓取新浪微博的内容,检查是否已经抓取过,把结果保存在Access数据库中,返回Rss给FeedBurner。

实现功能

  • 同步新浪微博到Twitter。
  • 包含图片链接,可配置。
  • 包含转发原文及作者。

配置

在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 如果是转发微博,是否添加原微博到。

一般我的配置:

http://www.example.com/SinaFeed/Default.aspx?SinaUserId=1650422717&AuthCode=jinweijiesinafeed&AttachImageToDescription=true

同步结果

新浪微博

image

Twitter:

image

FeedBurner的配置

有了RSS,然后我们就可以配置FeedBurner来绑定Twitter帐号了。

  1. 首先,你需要一个FeedBurner的帐号,需要翻个墙,如何注册这里就不赘述了,大家应该各有神通吧。
  2. 然后填入你的SinaFeed应用的地址:
    image
  3. 在Publicize tab里的Socialize菜单绑定你的Twitter帐号,保存。
    image
  4. 一般FeedBurner更新周期是30分钟,你也可以用它的ping功能,马上实现同步。

我的新浪微博

有任何问题可以加我的微博进行讨论。我的新浪微博和twitter都是@jinweijie 。谢谢!