Skip to content

Commit

Permalink
Merge branch 'master' of github.com:mobeigi/fb2cal
Browse files Browse the repository at this point in the history
  • Loading branch information
mobeigi committed Jul 21, 2019
2 parents 0852f47 + fb6b024 commit 4378f36
Showing 1 changed file with 57 additions and 2 deletions.
59 changes: 57 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,57 @@
# Facebook-Birthdays-to-Calendar
Workout to get Facebook Birthdays into Calendars since Facebook disabled this feature ~20 June 2019
<p align="center">
<img src="https://i.imgur.com/DdzpT8O.png" height="96px" width="96px"/>
<br/>
<h3 align="center">fb2cal</h3>
<p align="center">Facebook Birthday Events to ICS file converter</p>
<h2></h2>
</p>
<br />

<p align="center">
<a href="../../releases"><img src="https://img.shields.io/github/release/mobeigi/fb2cal.svg?style=flat-square" /></a>
<a href="../../issues"><img src="https://img.shields.io/github/issues/mobeigi/fb2cal.svg?style=flat-square" /></a>
<a href="../../pulls"><img src="https://img.shields.io/github/issues-pr/mobeigi/fb2cal.svg?style=flat-square" /></a>
<a href="LICENSE.md"><img src="https://img.shields.io/github/license/mobeigi/fb2cal.svg?style=flat-square" /></a>
</p>

## Description
Around 20 June 2019, Facebook removed their Facebook Birthday ics export option.
This change was announced and no reason was ever released.
News article: https://www.digitaltrends.com/news/facebook-removes-friends-birthday-export/

This tool is a workaround to restore said functionality.
It works by calling various async endpoints that power the https://www.facebook.com/events/birthdays/ page.
After gathering a list of birthdays for all the users friends for a full year, it creates a ICS calendar file which is then stored on Google Drive as a publically shared file. This file can then be imported into Google Calendar (or other tools/websites) as a regular ICS file.

This tool **does not** use the Facebook API.

## Requirements
* python3 (and all required python3 modules)
* Scheduler tool to automatically run script periodically
* Google Drive API access

## Instructions
1. Clone repo
`git clone [email protected]:mobeigi/fb2cal.git`
2. Create a Google Drive API credentials
1. Visit the Google Drive APIs page: https://console.developers.google.com/apis/api/drive.googleapis.com/overview
2. Create a new project (if you don't already have one)
3. Enable API (if not already enabled)
4. Create OAuth consent screen if required
5. Create Credentials (**OAuth client ID**)
5. Download credentials JSON file
3. Rename credentials JSON file to **credentials.json** and put it in the `src` folder
4. Open `src/config.ini` and enter your Facebook email and password as well as a name for your calender to be saved on Google Drive
5. Run script manually once and authenticate with Google to allow Drive access
`python ./fb2cal.py`
6. Check Google Drive to ensure your ics file was made.
7. Setup cron jobs/Task Scheduler/Automator to repeatly run python script. It is recommended to run the script **once every 24 hours**.
8. Use the following link to import your ics into Calendar applications (i.e. Google Calendar):
`http://drive.google.com/uc?export=download&id=DRIVE_FILE_ID`. Replace **DRIVE_FILE_ID** with the autopopulated value found in your `src/config.ini` file.

## Contributions
Contributions are always welcome!
Just make a [pull request](../../pulls).

## Licence
GNU General Public License v3.0

0 comments on commit 4378f36

Please sign in to comment.