Reworking Facebook Comment Inclusion

April 26th, 2018
comments, tech
I've included Facebook comments on my posts here since 2011, as a way to make it easier for people to follow the discussion without using Facebook. I initially implemented this via a Facebook app running as me. This worked fine, until Facebook's recent app restrictions in response to Cambridge Analytica.

The information I'm trying to include here, however, is fully public: if you follow a link to an example Facebook crosspost while not logged into Facebook you can still read the comments. So I've switched from using the API, with its privleges to read anything I can read, to just scraping the public-facing page.

This has two components:

  • Make a request in a javascript-running browser in order to get the temporary tokens I need to FB to allow my request. I tried to use Selenium for this, but the tiny VPS I host this blog on has too little memory to run a browser. So I use the WebPageTest API instead. I have this set to run automatically each night, getting a single request, via this python script as a cron job.

  • When trying to load comments, use those saved tokens to make the same kind of AJAX request Facebook's front end makes. This happens in response to a user viewing a post with comments, and is in this script.

Neither of these are examples of especially good code, and are instead examples of just staying up late poking the tools until they do what I want.

(This is how my Google Plus integration has worked from the beginning, except that it doesn't require any tokens and so only needs the second stage.)

Referenced in:

Comment via: google plus, facebook

Recent posts on blogs I like:

What Do Effective Altruists Believe

the direct opposite of a manifesto

via Thing of Things January 30, 2025

Mutually exclusive parenting advice

When methods point in opposite directions The post Mutually exclusive parenting advice appeared first on Otherwise.

via Otherwise January 26, 2025

2024-25 New Year review

This is an annual post reviewing the last year and setting intentions for next year. I look over different life areas (work, health, parenting, effectiveness, travel, etc) and analyze my life tracking data. Overall this was a pretty good year. Highlights …

via Victoria Krakovna January 15, 2025

more     (via openring)