2010-09-09 88 views
1

爲Facebook開發一個Flash測驗應用程序,我應該選擇哪種SDK(JS/PHP/AS3)和Facebook API(Graph/old rest)?Flash,Facebook和權限 - JS,PHP或AS3 SDK

也請回答如何以下將使用上面的首選解決方案來完成,爲什麼這簡化了應用程序的開發:

  1. 進行身份驗證的應用程序頁面上的用戶
  2. 請求允許發佈到流
  3. 申請從應用程序內發佈到流式傳輸的許可(是否可以或有必要事先授予發佈許可,即當用戶確定應用程序時?)
  4. 存儲測驗結果在數據庫

(是的,我讀過Facebook的開發者文檔,並仍然認爲許多#1的用戶可以有同樣的問題 - 部分是因爲這些做法,隨着時間的推移變化不大)

+0

另外:你會推薦 - 並且是在所有可能的 - 開發一個頁面,而不是作爲一個單獨的應用程序的測試嗎? – dani 2010-09-09 11:35:26

回答

1

基本上可以做到兩件事:

  1. 使用半官方的AS3 API(基於舊的rest API)和Facebook連接。這可以爲您節省一些時間,雖然它很麻煩(方法很奇怪,例子很少工作,Facebook Connect隨機中斷,本地測試是一個婊子)。

  2. 使用新的Graph API和OAuth獲取權限。從技術上講,這是最好的,OAuth比舊的Facebook Connect好得多(意思不是那麼瘋狂),但由於它是新的,所以沒有明確的AS3 API。

我個人推薦選項2 - 這是一個更優雅的解決方案。但是,這意味着您可能需要深入研究,將自己的AS3圖層構建到Graph API(真的不是一個大問題 - API很簡單),或者使用某些第三方(可能未完成/不完整),並且瞭解OAuth if你從未使用它。

構建自己的框架的好處是您可以更好地理解Graph/OAuth的工作方式,以便將來可以使用它。我知道這可能聽起來很奇怪,但Flash網站/應用程序必須使用對其有充分理解的Facebook API以及您擁有低級控制權的Facebook框架非常常見,這是一項重要的資產。過去我不得不在Facebook Connect上使用第三方的AS3 API,這真是地獄;我最近開始爲自己的目的構建自己的應用程序(因此它不涵蓋API所能做的所有事情),而且這是一個很好的解決方案。

關於問題3 - 可以隨時請求高級權限 - 無論是當用戶第一次允許應用程序訪問他/她的數據,還是以後當您需要使用某些高級功能(如發佈到其流中)時。您還可以檢查用戶是否已經爲此授予了權限。

另外,對於您的其他問題 - 無論您構建的是什麼(無論是單獨的頁面,應用程序還是選項卡),您都需要創建一個「應用程序」。除非你使用公共API(如閱讀公共頁面流);那麼它只是沒有驗證的Graph API,因此沒有App密鑰。