C# Facebook访问令牌持续过期#
我有一个web应用程序,它运行一个调度作业,从我管理的页面中获取Facebook评论。这里是一个片段C# Facebook访问令牌持续过期#,c#,facebook,facebook-graph-api,access-token,C#,Facebook,Facebook Graph Api,Access Token,我有一个web应用程序,它运行一个调度作业,从我管理的页面中获取Facebook评论。这里是一个片段 public void Execute(IJobExecutionContext context) { //get api details from the web.config var pageId = WebConfigurationManager.AppSettings["FacebookPageId"]; var token = W
public void Execute(IJobExecutionContext context)
{
//get api details from the web.config
var pageId = WebConfigurationManager.AppSettings["FacebookPageId"];
var token = WebConfigurationManager.AppSettings["FacebookAPIToken"];
if (!string.IsNullOrEmpty(token))
{
//create a facebook client object
var client = new FacebookClient(token);
//make a call to facebook to retrieve the json data
dynamic graphJson = client.Get(pageId + "?fields=ratings{review_text,reviewer,rating}").ToString();
//deserialize the json returned from facebook
ReviewDeserializeData reviews = JsonConvert.DeserializeObject<ReviewDeserializeData>(graphJson);
//loop through the deserialized data and pass each review to the import class
foreach (var rating in reviews.ratings.data)
{
var fbRating = new FacebookRating
{
RatingReviewerId = long.Parse(rating.reviewer.id),
StarRating = rating.rating,
ReviewerName = rating.reviewer.name,
ReviewText = rating.review_text
};
ImportFacebookRating.ImportTheFacebookRating(fbRating);
}
}
}
public void执行(IJobExecutionContext上下文)
{
//从web.config获取api详细信息
var pageId=WebConfigurationManager.AppSettings[“FacebookPageId”];
var-token=WebConfigurationManager.AppSettings[“FacebookAPIToken”];
如果(!string.IsNullOrEmpty(令牌))
{
//创建facebook客户端对象
var client=新的FacebookClient(令牌);
//打电话到facebook检索json数据
动态graphJson=client.Get(pageId+“?fields=ratings{review_text,reviewer,rating}”).ToString();
//反序列化从facebook返回的json
ReviewDeserializeData reviews=JsonConvert.DeserializeObject(graphJson);
//循环遍历反序列化的数据,并将每次审阅传递给导入类
foreach(审查中的var评级。评级。数据)
{
var fbRating=新的FacebookRating
{
RatingReviewerId=long.Parse(rating.reviewer.id),
星号=评级,
ReviewerName=rating.reviewer.name,
ReviewText=评级。review\u文本
};
导入FaceBookRating。导入FaceBookRating(fbRating);
}
}
}
在页面访问令牌过期之前,这种方法非常有效。我尝试了很多文章,比如这篇文章,但是我没有运气修复到期的令牌
是否有人知道我如何实现这一点,或者如果现有令牌已过期,是否有方法以编程方式生成新令牌?目前,我将其作为应用程序设置存储在web.config中
谢谢我在这里找到了答案,并且能够生成一个“永不”过期的令牌