【IT168 专稿】Google Social Graph API是Google推出的一个应用程序编程接口(API),我非常喜欢Google的这个API,当然这种喜爱是有充足的理由的。下面我将和读者朋友来认识这个API,并且阐述我喜欢它的理由。
你是否曾经有过这样的经历?你的个人信息分布于网络上不同的网站之中,这个网站有个帐号,那个网站有个档案;不同的地方有不同的好友列表,但是却没有一个地方的信息是完整的,而且这些信息无法有机的联系在一起,形成了不同的个人信息“孤岛”。
Google的Social Graph API可以帮助我们解决这种信息存储问题,通过这个编程接口,开发人员可以轻松获得并使用有关网络上人与人之间公共关系的信息。开发人员可以查询此公共信息,以便为其用户提供大幅简化的“添加好友”功能和其他有用功能。通过它,可以把我们所有注册过的网络服务中的信息都聚合到一起,并应用在各种不同新的服务中去。
那么这个Social Graph API是如何发现不同网站个人信息之间的关系的呢?
首先,它寻找所有属于你和与你有关的公开网址,举例来说,它们可能是你的博客(a1),你在社交网站LiveJournal的个人网页(a2)和你的Twitter帐号(a3)。
然后它寻找人们之间对外公布的联系。举个例子来说,a1可能包含指向b博客的链接,还有a1和c是互相链接的,如图1。

图1
通过这些关系之间的索引,开发者可以创建许多应用,比如帮助用户更轻松的与他们的朋友建立联系。例如,如下图所示,Brad刚刚加入Twitter,但是在上面没有朋友。通过使用Socail Graph API,Twitter可以让Brad有办法来发现他的朋友Jane也在Twitter上。实现方法原理如下:Brad已经在自己的Twitter信息(b1)中加入了指向自己主页(b3)的链接,而在他的主页(b3)中有指向他的LiveJournal博客的链接(b2)。在LiveJournal上,Brad与Jane274(j2)是朋友关系,但是Brad并不知道Jane274也有一个Twitter档案(j1)。由于Social Graph API已经索引到Brad和Jane在LiveJournal上具有公开的朋友关系,它就可以让Brad知道他在Twitter上可以添加Jane为朋友。
图2
以上是Google Social Graph API可以实现的典型应用之一。当你加入一个新的社交网站时,你只需要通过点击一个按钮就可以添加以前的好友。这是Google Social Graph API让我感到兴奋的原因之一,其它理由还有好多,下面让我们继续。
喜爱Google Socail Graph API的其它理由
1、它不依赖于Google
尽管Google提供这个编程接口,但是我们并不依赖于Google来创建或存储我们的联系信息。这个服务由用户自己或其服务提供商来完成的。这意味着Google不会控制我们的联系信息。这和搜索引擎工作原理非常类似。我们拥有在自己网站上编写的内容。Google只是对它们进行索引和提供工具来对它们发现、过滤和分类。Google只是一个聚合者,而不是一个创造者。Google要想成为最好的聚合者也必须要与别人进行竞争。
也就是说,其它人也可以和Google一样提供相同的服务。因为联系人信息是嵌入在网站之中的,那么任何人可以对它们进行索引。那么其它厂商也可以与Google竞争,提供一个比Google更好的API或更好的工具。
2、它不像Facebook一样是一个有墙壁的花园
互联网本身就是一个社会化网络,不应该有墙壁来阻挡人们之间的联系。Facebook是一个典型的案例,它被人们称为有墙壁的花园,不可否认它是一个非常好的社交网站,但是它不应该对于其中发生的社会关系具有所有权。和Facebook不一样,Google没有试图控制我们的社会关系图。这对于互联网的开放性是非常重要的。

图3
Google与Facebook的处理方式形成了鲜明的对比,Facebook筑起墙壁想要独占这些联系数据。这就是我认为Google的这个API要比其它对手好很多的理由之一。它们只是提供最好的工具,并且公开竞争。
在Social Graph API网站我们看到这么一句话:“使用户可以将公共社会关系快速添加到您的站点”,在Facebook上你会看到同样的话吗?不会,它们的介绍应该是“使用户可以将公共社会关系快速添加到我们的站点”,区别正在于此。
3、基于开放标准
Google使用XFN和FOAF标记格式来对人们彼此之间的连接进行索引,这些是任何人可以使用的开放标准,而且易于使用、易于理解。Web开发者在5分钟之内就可以掌握编写这类格式代码的技巧。
当然对于博客作者来说要想编写这类插件可能需要花费更长的时间,但是现在已经有很多开发者已经开始创建此类插件,我们可以拿来就用。
4、用户可以控制
我的个人社会联系信息公开与否由我自己来控制,如果我想让人们知道我有一个Twitter帐号,我可以公开它,如果我不想我可以不公开它,完全由我自己说了算。
透过Google Social Graph API,让我们再次领略到了API的重要性,我们不知道API究竟有多么有用,程序员们已经使用它开发出了许多杀手级应用,它的强大之处还有待于我们继续去挖掘发现。