微博客做为社会化网络的重要组成部分,具有比传统即时通讯(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

|