月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 基于JavaScript的REST客户端框架Facebook正式推出个性化网址 »

Twitter和饭否的好友管理工具

  微博客做为社会化网络的重要组成部分,具有比传统即时通讯(IM)软件更多的优势,例如可以看到好友的好友,可以关注陌生人的信息,但这也带来另一个问题:信息过载。

  如果用户关注(Follow)的用户数非常多,那么将在短时间内接收到大量来自好友的“信息轰炸”,这显然会给降低未必可的可用性。微博客和IM不同的是,你Follow的很多人可能你并不认识,为了能更加有效的使用微博客,获得更多有用的信息,对自己的好友进行合理管理势在必然。

  我个人觉得,对于好友的管理可以遵循以下几点:

  1、关注自己认识的朋友或者同事、亲人等。

  2、关注一些知名用户,通常知名用户的关注者都非常多,名气越大,Followers越多。

  3、合理取舍,特别是那些更新频率非常高的“话痨”,如果其更新的内容没有太大价值,就删除掉。

  经过这样的好友管理,微博客的使用就会变得更为有效。

  然而可惜的是,目前流行的微博客,如Twitter和饭否等,都没有这样的好友管理工具,在好友界面中,只能看到好友的id和名称,无法看到其关注着数量和更新数量,因此,我通过研究Twitter和饭否的API,写了一个Twitter和饭否的好友管理工具,可以方便的实现上面的功能。

  此工具为开源工具,全部源代码只有20多行,对于Twitter用户来说,先输入用户名和页数,提交后即可看到显示的前100个好友,信息包含好友的id、姓名、关注者(Followers)数量、更新数量,如果要想删除一个好友,点后面的“del”按钮即可删除,点击后会转到Twitter的API服务器,需要输入用户的Twitter用户名和密码才能真正删除。

  由于Twitter对于API有每小时100次查询的限制,超过了这个次数就会封IP,因此这个工具我就不在线提供演示了,大家将下面的ASP代码复制到一个支持ASP的主机空间上运行即可。

Response.Write "<form action=" + Request.ServerVariables("URL") + " method='post'>Twitter Username:<input type='text' id='username' name='username' value='" + Request.Form("username") + "'>  Page:<input type='text' id='page' name='page' value='" + Request.Form("page") + "' size='2'> (Page>=1) <input type='submit'> </form>"
if Request.Form("username")<>"" Then
  Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
  xmlHttp.open "GET", "http://twitter.com/statuses/friends.xml?page=" + Request.Form("page") + "&screen_name=" + Request.Form("username"), false
  xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
  xmlHttp.send (null)
  If (xmlHttp.Status = 200) Then set root = xmlHttp.responseXML.documentElement Else Response.End
  for i=1 to root.childNodes.length
    set node = root.childNodes.item(i)
    if not node is Nothing then
      set node2 = node.childNodes.item(1)
      name = node2.nodeTypedValue
      set node2 = node.childNodes.item(2)
      id = node2.nodeTypedValue
      set node2 = node.childNodes.item(8)
      followers = node2.nodeTypedValue
      set node2 = node.childNodes.item(21)
      statuses = node2.nodeTypedValue
      Response.Write "<form action='http://twitter.com/friendships/destroy.xml?screen_name=" + id + "' method='post' target='_blank'>"
      Response.Write "id:" + id + " , name:" + name + " , followers:" + followers + " , updates:" + statuses
      Response.Write " - <input type='submit' value='del'></form> <br/>"
    end if
  next
  Set xmlHttp=Nothing
End if

  对于饭否来说,也是同样的道理,其代码和Twitter的非常类似,不过,由于饭否功能的限制,其API并不提供“更新数量”这个字段,因此列表中只显示用户的id、姓名和关注者数量,建议饭否能把“更新数量”这个字段加上去。饭否的好友管理代码如下所示,其安装和运行与Twitter的一样,在线演示点这里

Response.Write "<form action=" + Request.ServerVariables("URL") + " method='post'>Fanfou Username:<input type='text' id='username' name='username' value='" + Request.Form("username") + "'>  Page:<input type='text' id='page' name='page' value='" + Request.Form("page") + "' size='2'> (Page>=1) <input type='submit'> </form>"
if Request.Form("username")<>"" Then
  Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
  xmlHttp.open "GET", "http://api.fanfou.com/users/friends.xml?page=" + Request.Form("page") + "&id=" + Request.Form("username"), false
  xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
  xmlHttp.send (null)
  If (xmlHttp.Status = 200) Then set root = xmlHttp.responseXML.documentElement Else Response.End
  for i=1 to root.childNodes.length
    set node = root.childNodes.item(i)
    if not node is Nothing then
      set node2= node.childNodes.item(0)
      id = node2.nodeTypedValue
      set node2= node.childNodes.item(1)
      name = node2.nodeTypedValue
      set node2= node.childNodes.item(9)
      followers = node2.nodeTypedValue
      Response.Write "<form action='http://api.fanfou.com/friendships/destroy/fanfou.xml?id=" + id + "' method='post' target='_blank'>"
      Response.Write "id:" + id + " , name:" + name + " , followers:" + followers
      Response.Write " - <input type='submit' value='del'></form> <br/>"
    end if
  next
  Set xmlHttp=Nothing
End if

  如果大家对这个工具还有什么意见和疑问,可以加我的Twitter饭否来咨询。

  更新:另外增加了一个嘀咕的好友管理,在线演示点这里,代码如下所示。

Response.Write "<form action=" + Request.ServerVariables("URL") + " method='post'>Digu Username:<input type='text' id='username' name='username' value='" + Request.Form("username") + "'>  Page:<input type='text' id='page' name='page' value='" + Request.Form("page") + "' size='2'> (Page>=1) <input type='submit'> </form>"
if Request.Form("username")<>"" Then
  Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
  xmlHttp.open "GET", "http://api.digu.com/statuses/friends.xml?page=" + Request.Form("page") + "&friendUserId=" + Request.Form("username"), false
  xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
  xmlHttp.send (null)
  If (xmlHttp.Status = 200) Then set root = xmlHttp.responseXML.documentElement Else Response.End
  for i=1 to root.childNodes.length
    set node = root.childNodes.item(i)
    if not node is Nothing then
      set node2 = node.childNodes.item(1)
      id = node2.nodeTypedValue
      set node2 = node.childNodes.item(2)
      name = node2.nodeTypedValue
      set node2 = node.childNodes.item(8)
      followers = node2.nodeTypedValue
      set node2 = node.childNodes.item(19)
      statuses = node2.nodeTypedValue
      Response.Write "id:" + id + " , name:" + name + " , followers:" + followers + " , updates:" + statuses
      Response.Write " - <a href='http://api.digu.com/friendships/destroy.xml?userIdOrName=" + id + "' target='_blank'>del</a> </form> <br/>"
    end if
  next
  Set xmlHttp=Nothing
End if



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1827.html
  • 文章排行:
  • 1.f将军
  • 沙发吗?哎呀呀……
    shura 于 2009-6-13 1:00:19 回复
    很好 很强大 很实用 很有爱
  • ip: 59.50.36.*  2009-6-12 20:40:17   回复该留言
  • 2.cosbeta
  • asp的!不懂的人飘过
    test1 于 2009-6-12 23:57:08 回复
    看看也能学到点东西
    diekdiekdi 于 2009-6-13 0:13:22 回复
    dia;dfkadfl;kal;dksfasdf
    aaaaaaaa 于 2009-6-13 10:12:16 回复
    aaaaaaaaaaaaaaaaaa
  • ip: 59.53.135.*  2009-6-12 20:41:03   回复该留言
  • 5.LoveecilA
  • 难得离沙发这么近...最近开始使用twitter,饭否没仔细用过
  • ip: 221.192.247.*  2009-6-12 21:10:37   回复该留言
  • 9.kramon
  • 虽然不用微博客,但是还是路过,学习一下!
  • ip: 221.232.217.*  2009-6-12 23:51:32   回复该留言
  • 10.和平国旅
  • 微博客这种社会化工具,也许会越来越多人用,有时间也要去尝试一下这个相当我来说较新的事物。
  • ip: 218.19.170.*  2009-6-12 23:55:43   回复该留言
  • 14.积极
  • 离沙发这么近,...最近开始使用twitter,饭否没仔细用过
  • ip: 58.242.141.*  2009-6-13 8:14:59   回复该留言
  • 19.fayfg
  • 等饭否推出了“更新数量” 我就去整理我的好友
  • ip: 117.75.209.*  2009-6-14 17:01:25   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 跟随我的推特:跟随我的推特
  • 跟随新浪微博:跟随新浪微博
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.