Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Facebook访问令牌持续过期#_C#_Facebook_Facebook Graph Api_Access Token - Fatal编程技术网

C# 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

我有一个web应用程序,它运行一个调度作业,从我管理的页面中获取Facebook评论。这里是一个片段

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中


谢谢

我在这里找到了答案,并且能够生成一个“永不”过期的令牌