我一直在寻找有关称为OpenSocial的一组标准的确切用法的一些解释。
如果可以像下面这样使用OpenSocial,则需要澄清一下。
我想创建一个用于与OpenSocial api共同使用的库,以便在我的网站中使用,而不像Facebook和myspace这样的常见网站描述的应用程序“表现”。我不是在创建myspace的Facebook应用程序,而是在创建自己的网站,希望用户能够找到 friend 。
我想允许用户存储各种OpenSocial支持的社交网络的用户名和密码。我还想使用api将事件从我的网站同步到他们指定的社交网络。我也想允许我的用户查看 friend 列表并邀请他们。
是否可以创建一个支持OpenSocial和简单“指向”的库以及支持它的社交网络以获取 friend 等的 list ?
最佳答案
许多OpenSocial容器(社交网站)都支持REST和/或RPC方法,可用于访问 friend 列表,发布事件等。已编写了一些客户端库来使用这些API(http://wiki.opensocial.org/index.php?title=Client_Libraries)。可以使用客户端库创建一个站点,该站点允许您使用受支持的OpenSocial网络上的帐户登录并获取您的 friend 列表。
但是,无法通过存储用户名和密码并将其发送到社交网站来针对OpenSocial API进行身份验证。这被认为是不良的设计模式,因此不建议使用。相反,OpenSocial支持三足式OAuth,它涉及将用户重定向到社交网络,用户在该社交网络上输入其凭据,并使用可用于访问用户数据的 token 重定向到您的站点。
请注意,尽管至少MySpace,iGoogle,hi5和Netlog现在支持,但并非每个站点都支持三足式OAuth。
一旦通过身份验证,您将几乎可以从任何网络中获取数据。在某些网络上支持回发事件,但目前尚不支持所有事件。
这种方法确实需要您在要支持的每个社交网络上注册您的网站,这可能是一个扩展问题。为了尝试解决这个问题,Google发布了Friend Connect,它将来自各种网络的OpenSocial API结合在一起,为您提供了一个易于编程的界面(完整披露:我是Google的一名员工,并且不时与Friend Connect合作) 。我今年在Google I/O上发表了一个演讲,描述了与网站的这种集成可能会有所帮助。 (由于我目前仅限于在帖子中发布单个链接,因此该链接位于http冒号斜杠slash code.google.com/events/io/sessions/BeyondCutPasteGoogleFriendConnect.html)
如果您还有其他问题,我很乐意进一步阐述。