snarfed/facebook-atom

items constantly reappearing in readers because ids keep changing

snarfed opened this issue · 3 comments

Facebook changed the story_fbid query param recently, which we use to generate item ids. It now changes regularly, so our ids change, so the same post(s) keep reappearing in feeds and consuming readers as if they were new.

Key point is that story_fbid values now start with a pfbid prefix, followed by a 67-char base64 string. Redacted example URL:

https://www.facebook.com/story.php?story_fbid=pfbid02X2rBJGbjbvzeJSC8ifzkpmXbULz...&id=542442336

(id here is a Facebook user id; it hasn't changed.)

Aha, looks like I can get the post id from top_level_post_id or mf_objid inside the _ft_ query param, which is a URL-encoded, :-separated string, eg (redacted):

_ft_=qid.-6283032955...:mf_story_key.354173070...:top_level_post_id.10110321724398393:content_owner_id_new.3221137:page_id.2276775...:src.22:story_location.5:story_attachment_style.share:view_time.1653400301:filter.h_nor:ott.AX-Bapah0...:weight.3133.86...:sty.263:mf_objid.10110321724398393:ent_attachement_type.ExternalShareAttachment:app_id.2309869772:viewstate_id.3541730...:pos.1:page_insights.{"2276...":{"page_id":2276...,"page_id_type":"page","actor_id":32...,"dm":{"isShare":0,"originalPostOwnerID":0},"psn":"EntStatusCreationStory","role":16,"sl":5}}:actrs.322...:tds_flgs.3:ftmd_40...

Deployed a fix for this, snarfed/granary@44c611d but it doesn't look like it worked. 😐

Fixed in snarfed/granary@93a64e9, looks like that did the trick.