2011-08-13 184 views
0

我有一个网站,我有一个活动模块,用户可以在其中维护自己的活动。身份验证Facebook C#SDK

与此同时,我有一个Facebook页面(不是应用程序),我真的想创建/更新/从我的网站直接删除事件到Facebook。

我有以下工作:

 FacebookClient clientApp = new FacebookClient(token); 
     Dictionary<string, object> parameters = new Dictionary<string, object>(); 
     parameters.Add("name", currentEvent.HeadLine); 
     DateTime startTime = DateTime.Now; 
     DateTime endTime = DateTime.Now.AddDays(1); 
     parameters.Add("start_time", currentEvent.StartDateTime); 
     parameters.Add("end_time", currentEvent.EndDateTime); 
     parameters.Add("location", currentEvent.Location); 
     parameters.Add("description", currentEvent.Description); 
     var postResult = (IDictionary<string, object>)currentClient.Post("pageid/events", parameters); 

使用的accessToken是从我的Facebook登录,所以如果到期系统出现故障。

任何其他方式,或我可以得到一个新的过期accesstoken。

问候Keld

认为Keld

回答

0

你有两个选择,一个是请求从Facebook允许离线访问,当你获得令牌。这会为您提供一个永不过期的令牌(除非用户明确地删除了您的应用的访问权限)

第二种方法是处理来自方法回调的异常,在处理代码中检测令牌过期异常并重定向用户然后重新尝试事件更新

+0

将事件发布到Facebook页面(不是应用程序)我需要页面访问令牌每2小时过期(默认)我需要通过我自己的Facebook帐户进行发布,以便我的网站用户不必登录Facebook,而是通过我的帐户发布 –

+0

您是否可以从用户访问令牌获取页面的访问令牌?一种解决方法是获得网页浏览器控制在服务器端并填充我们ername和密码框,并模拟点击登录,但这将是一个不受支持的技术。 – ForbesLindesay