2010-04-22 111 views
14

我應該在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

回答

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. 允許用戶邀請他們的朋友使用該應用程序。
    • 對不起,不知道在這一個...
+0

看起來不錯。對於第4點,我認爲我可以使用FBML小部件來實現這一點。謝謝 ! – Andree 2010-04-26 11:29:08

+0

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

2

使用Graph API,因爲它包含了舊REST API所具有的所有內容。 Plus新的API是RESTful,並且結果以JSON返回,這很好!

+0

加 - 更友好的服務條款;減號 - 任何新類型數據的擴展權限請求;-) – zerkms 2010-04-22 21:55:02

7

正如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