我有一个网站,我有一个活动模块,用户可以在其中维护自己的活动。
与此同时,我有一个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);
使用的accessstoken来自我的facebook登录,所以如果过期则系统失败。
任何其他方式或者我可以获得更新的即将到期的accessstoken。
关心Keld
关于凯尔德
答案 0 :(得分:0)
您有两种选择,一种是在获取令牌时从Facebook请求权限离线访问。这为您提供了永不过期的令牌(除非用户明确删除了您的应用的访问权限。
第二种方法是处理方法回调中的异常。在处理代码中,您检测到令牌过期的异常,并将用户重定向到相应的登录页面以获取新令牌。然后,您可以重新尝试事件更新。