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

时间:2010-04-22 09:04:53

标签: facebook

我应该在Facebook开发者论坛上问这个,但不知怎的,我无法注册论坛,Facebook连接功能在我写这篇文章的时候不起作用。

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

  1. 获取个人资料照片和用户名称。
  2. 获取同时使用我的应用的用户朋友的个人资料照片和姓名。
  3. 发布到用户的信息流中。
  4. 允许用户邀请他们的朋友使用该应用程序。
  5. 有人能为我提供一个洞察力,哪一个对我的申请更好?

3 个答案:

答案 0 :(得分:7)

正如Renesis所说,Graph 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而不是新的API   完整性。“

(我只能发布一个超链接,因此它与#requests超链接相同,但在'制作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

答案 1 :(得分:5)

  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. 允许用户邀请他们的朋友使用该应用程序。
    • 对不起,不确定这个......

答案 2 :(得分:2)

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