2010-01-26 81 views
5

我需要一個Facebook應用程序,那種坐在用戶操作的「背景」中。一旦應用程序由用戶安裝,它將繼續發送用戶的狀態更新,新朋友連接等到我的另一個Web應用程序。無論應用頁面是否打開,它都會繼續獲取信息。是否有可能擁有「背景」Facebook應用程序?

我的問題是 - 這可能嗎?到目前爲止,我已經玩過一個用Java API編寫的簡單的iFrame應用程序。看起來它只能在頁面被擊中時執行數據收集。

編輯:隱私絕對是一個有效的關注點。但是,即使FB API沒有內置,應用程序也一定會提示許可。

+5

作爲一個偶然的Facebook用戶誰是有點擔心隱私保護,我希望這個問題的答案將是「不」 ... :) – stakx 2010-01-26 00:42:25

+4

我當然希望不會。 – BoltBait 2010-01-26 00:43:11

+0

這是違反他們的使用條款,應該是。 – 2010-01-26 00:51:35

回答

1

您可以通過使用fb:prompt-permission FBML tag<fb:prompt-permission perms="offline_access">Can I have access to your data all the time?</fb:prompt-permission>向用戶詢問offline_access extended permission,將用戶的會話密鑰存儲在數據庫中,然後根據需要查詢Facebook API。 (您可能需要其他的擴展權限,如果有,你要訪問其他數據是不是一個標準的API調用)。

注意,這不屬於違反服務條款,但你將不會被允許存儲您收到的任何數據超過24小時。

+0

感謝您的回答。現在我要去挖掘如何做到這一點的Java API ...:D – tomato 2010-01-27 18:54:45

0

沒有。 Facebook不希望一般的應用程序擁有太多的用戶數據,當用戶沒有主動與應用程序交互時,肯定不希望他們訪問它。

哎呀,無限的會話密鑰,甚至沒有支持了。那些仍然在附近都已經盛大英寸

+0

默認情況下,無限會話已被刪除,但仍然通過offline_access擴展權限支持無限會話密鑰。看到這個頁面的下半部分:http://wiki.developers.facebook.com/index.php/Authorizing_Applications#About_Session_Keys – 2010-01-26 10:37:45

1

我不會建議它,但如果你創建一個「應用程序」有一個關聯的用戶帳戶,然後你問Facebook應用程序的用戶添加爲朋友,那麼你可以在問題中達到你想要的。

例如,讓我們說你的應用程序是iFacebook - 那麼你創建一個名爲iFacebook朋友一個普通用戶帳戶,並要求您iFacebook應用的用戶iFacebook朋友加入到他們的朋友(*)列表。然後,您可以通過常規Facebook帳戶「iFacebook Friend」從應用用戶那裏抓取數據。

但是,這樣做很可能將違反Facebook的一些使用策略,並能可能讓你禁止,或報告爲隱私侵犯的應用程序。然而,如果你的應用的功能足夠有用,一些人會很樂意讓隱私去...

(*)你可以通過給予獎勵,如獎勵積分,額外的'東西'來誘使他們這樣做只有那些加了朋友的人才會得到。

+0

儘管你的答案在技術上是正確的,但我想把它投下來,因爲這在道德上是錯誤的,是。我希望你善用你的技能而不是邪惡,Chii :) – ewall 2010-01-26 04:28:16

+0

好吧,我儘量使用我的技能,但是有時候邪惡會付出更多的不幸。然而,有些事情我不會這樣做,而我上面的答案是我可能不會這樣做的那個=) – Chii 2010-01-26 06:41:42

+0

創建關聯的用戶帳戶在這裏肯定是一個有趣的方法。謝謝(你的)信息。 :) – tomato 2010-01-27 18:35:07

相關問題