-1

I have a web application that runs a schedule job which pulls in the Facebook reviews from a page which I manage. Here is a snippet

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);
            }
        }

    }

This works great until the Page Access Token expires. I have tried following many articles such as this one https://medium.com/@Jenananthan/how-to-create-non-expiry-facebook-page-token-6505c642d0b1#.24vb5pyiv but i have had no luck fixing the token expiring.

Does anyone know how i can achieve this or is there a way to programmatically generate a new token if the existing one has expired? at the moment i have it stored in the web.config as an app setting.

Thanks

Paul
  • 620
  • 11
  • 35

1 Answers1

1

I found the answer here and was able to generate a token that 'Never' Expires Long-lasting FB access-token for server to pull FB page info

Community
  • 1
  • 1
Paul
  • 620
  • 11
  • 35