2011-07-12 69 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

相关问题