为Facebook应用程序选择图形API或旧的REST API

问题描述:

我应该在Facebook开发人员论坛上提出这个问题,但不知何故我无法注册到论坛,Facebook连接功能在写这篇文章的时候不工作。为Facebook应用程序选择图形API或旧的REST API

无论如何,我仍然对我的Facebook应用是否使用Graph API或旧的REST API感到困惑。 通常,这是我想要在我的应用程序中实现的:

  1. 获取用户的个人资料图片和用户名。
  2. 获取用户的朋友的个人资料图片和名称,他们也在使用我的应用程序。
  3. 发布到用户的流中。
  4. 允许用户邀请他们的朋友使用该应用程序。

有人能给我一个见解,哪一个更适合我的应用?

+0

屏蔽了屏幕录像,主要开发人员建议使用Graph,但那里有Cleary是通过Graph无法实现的事情。不确定是否支持Connect.registerUsers。 – timpone 2010-04-22 19:58:53

+0

很高兴知道别人在Facebook开发者论坛上遇到问题。 – Nicole 2010-04-23 01:38:45

+1

@Renesis:实际上每个人都有FB论坛的问题;-) – zerkms 2010-04-23 13:41:49

  1. 获取用户的个人资料图片和名称。
    • http://graph.facebook.com/[uid]为名称和http://graph.facebook.com/[uid]/picture是始终最新的链接到当前图片。另外,如果您有access_token,则可以查询http://graph.facebook.com/me以获取当前用户的数据,无论是谁。
  2. 获取用户的朋友的个人资料图片和名称谁也使用我的应用程序。
    • 不知道如何才能得到特定的朋友,也许使用FQL。但是请注意,你可以在好友列表中的特定字段添加一个fields参数(默认为只是名称和ID):.../friends?fields=id,name,picture
  3. 后到用户的信息流。
  4. 允许用户邀请他们的朋友使用该应用程序。
    • 对不起,不知道在这一个...
+0

看起来不错。对于第4点,我认为我可以使用FBML小部件来实现这一点。谢谢 ! – Andree 2010-04-26 11:29:08

+0

你在文档中找到了什么?我想知道是否有可能得到在特定领域排序的朋友列表。 – Luke 2010-09-05 23:01:28

使用Graph API,因为它包含了旧REST API所具有的所有内容。 Plus新的API是RESTful,并且结果以JSON返回,这很好!

+0

加 - 更友好的服务条款;减号 - 任何新类型数据的扩展权限请求;-) – zerkms 2010-04-22 21:55:02

正如RENESIS说,图形API涵盖了你所需要的东西的前三个步骤。

对于第四点,我一直在寻找的API广泛用于我自己的应用,并已发现了如何通过FBML用下面的代码做到这一点:

<fb:serverFbml> 
<script type="text/fbml"> 
<fb:fbml> 
    <fb:request-form 
     method='POST' 
     type='join my Smiley group' 
     content='Would you like to join my Smiley group? 
      <fb:req-choice url="http://apps.facebook.com/smiley/yes.php" 
       label="Yes" />' 
      <fb:req-choice url="http://apps.facebook.com/smiley/no.php" 
       label="No" />' 
     <fb:multi-friend-selector 
      actiontext="Invite your friends to join your Smiley group."> 
    </fb:request-form> 
</fb:fbml> 
</script> 
</fb:serverFbml> 

http://developers.facebook.com/docs/guides/canvas/#requests

它似乎斯科特的说法不正确,他说Graph包含了旧的REST API所具有的一切:

“我们当前正在处理 将我们的核心服务器API从 旧REST API升级到更现代的Graph API。然而,大多数方法 所需的画布应用程序到 与Facebook集成尚未 升级到新的API。对于 目前,我们建议您使用旧的REST API在画布上应用 ,而不是为求完整性 新的API继续 。”

(我只能发布一个超链接,那么它的与#requests超链接相同,但是在“制作API调用”部分)

不确定这是否与其他集成方法(如Web或桌面应用程序)一样,但到目前为止看起来好像Graph API有点赶上做!

编辑:

要列出用户的朋友的个人资料图片,使用以下命令:

假设你已经拿到了当前用户的ID

https://graph.facebook.com/**USER-ID**/friends?fields=picture,name&access_token=**ACCESS-TOKEN** 

这将提供一个JSON对象具有的列表当前用户的朋友包含UID,姓名和指向小版本个人资料图片的链接。

我还没有找到一种方法来检索搜索的大图版本又那么与该方法,如果你想在大的版本,你必须通过每个用户迭代,并使用此:

https://graph.facebook.com/**USER-ID**/picture?type=large 
+0

但是,我仍然没有找到任何方法来完成图API(用户.getAppUser)中的需求2。你有什么建议吗?目前,我为这个功能使用了传统API,其他人则使用了图形API。 – Andree 2010-05-20 08:18:56

+0

我不能很好地格式化评论,我不够聪明。将编辑答案 – tonyhb 2010-05-20 14:10:24