2009-12-08 75 views
1

我想以編程方式將消息發佈到我的網站用戶的Facebook頁面上,無論何時從我的網站觸發某些事件。我將有一個cron,在需要時執行stream.publish。Facebook - Stream.publish

我正在看stream.publish來完成此操作,這需要facebook用戶的擴展許可。由於用戶不會參與發佈,我將如何着手從我的用戶羣獲取publish_stream擴展權限?他們是否可以在我的網站上註冊,或者他們提供我的用戶名密碼&,我可以爲他們做嗎?

http://wiki.developers.facebook.com/index.php/Using_the_Open_Stream_API#About_the_publish_stream_Permission

回答

2

做到這一點的唯一方法是通過權限對話框。如果您使用的是Facebook連接,請檢查FB.Connect.showPermissionsDialog,否則您可以在您的fbml中輕鬆包含FB:prompt-permission

如果您使用的是iframe/facebook連接,則可以在沒有任何用戶操作的情況下調用FB.Connect.showPermissionsDialog(因此在頁面加載時將看到對話框)。在FBML的情況下,您將需要引導用戶單擊鏈接來調出窗口。

0

您需要同時提示offline_access和stream_publish擴展權限。您可以在註冊您的應用時執行此操作。也許你有一個用戶打開這些通知的設置頁面,當他們打開它時,你可以提示輸入擴展權限。

當您的用戶被授予offline_access權限時,他們的Facebook會話密鑰將更改,並且expires值將切換爲零。這在Facebook圈子中稱爲「無限會話密鑰」您需要保存此會話密鑰,以便以後在您的cron作業中使用。然後,您可以使用無限會話密鑰作爲參數調用stream.publish,即使用戶當時未登錄到您的站點或Facebook,它也會通過。

相關問題