2011-07-12 143 views
0

我想在Facebook頁面/用戶牆上發佈離線新事件我的意思是當我在數據庫中添加新事件時,我自動將此事件發佈到用戶配置文件是有線程或東西,檢查我的新事件,並將其發佈到我的應用程序用戶或頁面離線。我使用Facebook的c#sdk和mvc 在此先感謝 任何人想編輯我的問題或需要更多的信息,歡迎發佈在Facebook應用程序的用戶/頁面牆上離線

回答

2

至於我可以理解你的問題,你需要一個應用程序應該張貼過牆即使你離線。總之你需要一個具有離線功能的Facebook應用程序。

這可以通過與在線應用程序類似的方式完成。只需保存用戶和內容的uid,當應用程序聯機時,它將需要在用戶的牆上發佈的權限,並且可以發佈內容。

+3

由wnehn應用程序上線,你的意思是,它會像一個線程的任何新的事件將在頁面中發表,但我應該放什麼情況下我的代碼裏面,現在我把它的行動,其中用戶發佈它會發布 –

+0

任何應用程序來執行任務,如發佈在用戶牆上,它需要來自用戶的權限。當應用程序處於脫機狀態時,您可以保存要發佈的內容以及發佈其個人資料的用戶的uid,然後在聯機時發佈必要的權限併發布內容。 – iamkhush

1

首先,您需要確保向用戶請求「offline_access」權限。

var auth = new CanvasAuthorizer { Permissions = "offline_access" }; 

一旦用戶將您的應用程序,你需要保存所生成的身份驗證令牌,這將是可脫機使用「長壽命」令牌。

saveToDatabase(auth.Session.UserId,auth.Session.AccessToken) 

在事件處理程序,你會那麼只需遍歷所有用戶,使用保存的令牌進行授權,並做好後期調用。

foreach(var fbUser in SavedUsers) { 
    fbClient.AccessToken = fbUser.SavedAccessToken; 
    fbClient.Post(<desired post info>); 
} 
+0

是在我的應用程序中的第一個動作,並將發佈爲Facebook粉絲頁面上的應用程序而不是應用程序頁面,因爲我嘗試它並將其張貼在應用程序頁面上 –

+0

請您向我發送有關如何執行的更多信息它和關於CanvasAuthorizer我可以把它放在任何行動,因爲我與mvc的工作預先感謝:) –

+0

如果你想指定用戶以編程方式發佈,那麼你可以簡單地生成一個「offline_access」令牌,當你登錄作爲該用戶[在此](https://developers.facebook.com/tools/explorer/?method=GET),然後將其保存到數據庫中。 至於自動發佈,一個System.Threading.Timer應該做的伎倆。 'var t = new Timer(YourPostingFunction,null,6000,6000);' – dcpar

相關問題