mholt / timeliner

All your digital life on a single timeline, stored locally -- DEPRECATED, SEE TIMELINIZE (link below)
https://timelinize.com
GNU Affero General Public License v3.0
3.57k stars 116 forks source link

Facebook data import data source #27

Open boardfish opened 5 years ago

boardfish commented 5 years ago

1. What is the data source you want to add?

Facebook data exports. Currently there's a date source for data from the API, but a Timeliner user might have already closed their account, leaving behind only their data.

2. How are items obtained from the data source?

Data must be manually imported. It may be sourced from some or all of Facebook's different offerings. Documentation is here.

2a. If authentication is required, how does a user create or obtain credentials for Timeliner to access the data?

N/A

2b. If an API is available, what are its rate limits?

N/A

2c. If a file is imported, how is the file obtained?

Documentation here.

2d. If a file is imported, how do we read the file?

Exports are a ZIP file containing a structure of folders, JSON files, and various media files. The media files have their EXIF data, but additional metadata from Facebook corresponding to each one is in the associated JSON file.

3. What constitutes an "item" from this data source?

It depends how much of the export is considered useful, but photos, posts, milestones etc. should all be considered.

4. How can items from this data source be related?

This should be looked into more closely by someone who actually uses Facebook – my memory for it isn't great as I type this.

5. What constitutes a "collection" from this data source?

Facebook has the concept of photo albums, so they'd constitute a collection. Other than that, I doubt there are many others.

6. What might not be trivial, obvious, or straightforward when implementing this data source?

I'm not sure how easy it would be to make the relationship between data from the JSON files and actual media files themselves clearer.

Bonus: How do you like Timeliner? How much data are you preserving with it? Which existing data sources do you use?

I haven't started using it yet, but I figure a Facebook data export would serve as the foundation for my starting to use this on my VPS.

I'm closing my Facebook account as I type this, but it'd be good to hang on to the backed-up data in a way I might be able to browse in future. I've observed from the wiki that there's not yet support for loading from a full backup taken from Facebook (whether HTML or JSON). I'd hope there's some support for this thanks to this issue.

mholt commented 5 years ago

Yeah, currently the importer for Facebook is just through their API. Contributions are welcome to support importing from the zip file they export though!

boardfish commented 5 years ago

I don't expect to be able to do this for a long time as I don't yet know Go, but I'll be equally glad if someone beats me to the punch.

mholt commented 5 years ago

@boardfish FYI, I've added a new issue template for requesting data sources which will make it easier for whoever implements it. If you could update your original post to use this template, that would be great, thanks!

(It's only halfway a new data source, but enough of the issue template is relevant for adding a data importer for Facebook that I'm going to request it be filled out anyway.)

boardfish commented 5 years ago

Done, but it's light on detail for now. If I catch a moment in the near future, I'll look more closely at my own data export to see if I can shed more light on it.