danvratil / fbeventsync Goto Github PK
View Code? Open in Web Editor NEWSync Facebook Events into your Android calendar
License: GNU General Public License v3.0
Sync Facebook Events into your Android calendar
License: GNU General Public License v3.0
I've marked some events that I'm not attending, but it's not removing it from my calendar. I've manually synced my calendar and the app.
Galaxy S9 on 8.0
When the key expires (because user changes their password or changes some security policy), we need to detect it and retrieve a new key.
When the key expires, we get following response from the iCal:
HTTP/2 200
x-frame-options: DENY
x-xss-protection: 0
access-control-allow-credentials: true
access-control-allow-origin: https://www.facebook.com
access-control-expose-headers: X-FB-Debug, X-Loader-Length
pragma: no-cache
vary: Origin
access-control-allow-methods: OPTIONS
strict-transport-security: max-age=15552000; preload
x-content-type-options: nosniff
expires: Sat, 01 Jan 2000 00:00:00 GMT
cache-control: private, no-cache, no-store, must-revalidate
vary: Accept-Encoding
content-type: text/html; charset=UTF-8
x-fb-debug: ivin+/XktvmHiy0n2XupcR4U1ZwIBbNTYEcFNFXu8t6Q3gyJyBEYQCG+d5Ki3gVsj3Nu7ehC72vkNTVqt0Q6AA==
date: Mon, 05 Mar 2018 22:15:55 GMT
Sorry, this URL is invalid or has expired.
The message in the response body is localized, so we can't use that. However the content-type header is different (text/html
vs text/calendar
for valid iCal) and content-disposition
header is missing.
This is not a bug but a potential design/enhancement discussion :-)
So, myself and my wife share our calendars. If I've flagged an event as something we're going to it doesn't appear in my personal calendar on the web interface on my computer which means her share of my calendar does not see it. Which leads to double booking ;-)
So while the application works perfectly on a single phone I'm wondering whether there could be a way to persist certain categories (e.g. Events Going To, Events Interested In) into a specified calander therebye allowing cross-device usage/syncing.
I am getting sync error. I can't copy/paste the error but I do have a screen shot. Please fix ASAP .
It should be possible to add a null color.
I am syncing events I am attending. They show in my Google calendar but twice.
When we start getting near the request rate limit Facebook will start sending X-App-Usage HTTP header with information about how close to the limit we are. The app should take this into account and slow down with the query amount, by decrasing the sync frequency for instance, so that we don't get hit by the rate limiting again.
Hi,
Since this app is GNU GPL v3 licensed, are you considering the fact to add it to F-Droid? There is a strong community behind.
You can find some documentation here.
Otherwise, if you don't want to work on the inclusion of this app by yourself, would it be ok for you if someone else do it for you?
Birthday sync works great. Events don't come over at all.
I've got "1 hour" frequency set and some events not synced for many days. I need to manually "sync now".
How do I avoid sounds every night (midnight) when my FB friends have a birthday?
I have a bug concerning the calendars I choose to enable. It seems the
enabled button is locked and can't be reached for all calendars (events I'm
attending e.t.c)
[...]
I use LG G4 android 6.0.
Could be an encoding issue in the library or a broken iCal from Facebook. However the birthdays seem to sync just fine...
2018-09-28 09:56:32.218 D/FBCalendar: Calendar Events I'm Attending is enabled? true
2018-09-28 09:56:32.335 D/FBCalendar: Calendar Events I May Be Attending is enabled? true
2018-09-28 09:56:32.422 D/FBCalendar: Calendar Events I'm not Attending is enabled? true
2018-09-28 09:56:32.480 D/FBCalendar: Calendar Events I have not Responded To is enabled? true
2018-09-28 09:56:32.559 D/FBCalendar: Calendar Friends' Birthdays is enabled? true
2018-09-28 09:56:32.815 D/SYNC: Syncing event iCal from https://www.facebook.com/ical/u.php?uid=hidden&key=hidden&locale=zh_TW
2018-09-28 09:56:33.674 D/SYNC: iCal sync done
2018-09-28 09:56:33.674 I/FBCalendar: Sync stats for Events I have not Responded To
2018-09-28 09:56:33.675 I/FBCalendar: Events added: 0
2018-09-28 09:56:33.675 I/FBCalendar: Events modified: 0
2018-09-28 09:56:33.675 I/FBCalendar: Events removed: 0
2018-09-28 09:56:33.676 I/FBCalendar: Sync stats for Events I'm not Attending
2018-09-28 09:56:33.676 I/FBCalendar: Events added: 0
2018-09-28 09:56:33.677 I/FBCalendar: Events modified: 0
2018-09-28 09:56:33.677 I/FBCalendar: Events removed: 0
2018-09-28 09:56:33.677 I/FBCalendar: Sync stats for Events I May Be Attending
2018-09-28 09:56:33.678 I/FBCalendar: Events added: 0
2018-09-28 09:56:33.678 I/FBCalendar: Events modified: 0
2018-09-28 09:56:33.678 I/FBCalendar: Events removed: 0
2018-09-28 09:56:33.678 I/FBCalendar: Sync stats for Events I'm Attending
2018-09-28 09:56:33.679 I/FBCalendar: Events added: 0
2018-09-28 09:56:33.679 I/FBCalendar: Events modified: 0
2018-09-28 09:56:33.679 I/FBCalendar: Events removed: 0
2018-09-28 09:56:33.737 D/SYNC: Syncing birthday iCal from https://www.facebook.com/ical/b.php?uid=hidden&key=hidden&locale=zh_TW
2018-09-28 09:56:42.569 D/SYNC: iCal sync done
2018-09-28 09:56:44.266 I/FBCalendar: Sync stats for Friends' Birthdays
2018-09-28 09:56:44.267 I/FBCalendar: Events added: 0
2018-09-28 09:56:44.268 I/FBCalendar: Events modified: 66
2018-09-28 09:56:44.269 I/FBCalendar: Events removed: 0
From #30:
Regarding inviting friends, there is no proper way to get the list of all your friends from Facebook (Facebook will only show me your friends who are also using the app, which is not that many I guess smiley). But now that I think about it, I see a way how I could abuse the birthday calendar to use it as your friend list. To invite them, I could add "Invite your friends" link to the description that would open the app and would let you choose whom to invite.
This plan has one big flaw - not everyone publishes their birthday on Facebook, so even the birthday calendar would not provide a full friend list. I could try to look into how SocialFixer scrapes the friend list and could retrieve it as part of regular sync (or from time to time) and just keep it cached locally. Other option is to try to some page on mobile version of Facebook that has the friends and that we could scrape.
Once solved, the solution is rather simple: just insert a custom link (fbevensync://invite?eventId=X) to each event and register ourselves as a handler. Tapping the link will lunch our activity, where we can do an actual Graph API query to fetch current event attendees and offer some RSVP options, including inviting friends and changing our own RSVP status.
This should be a completely optional feature, not everyone may want a random app to poke around their friends list.
The user selects a bunch of FB Groups they follow and the app will create a calendar for each of the groups and will populate it with all upcoming events with an option to RSVP, which would add it to the regular FBEventSync calendars
Add option to only create and sync certain calendars, like Attending
I've disabled birthday sync, clicked sync, but I can still see birthdays in my calendar. What to do?
Reported by user, needs confirmation.
FB Pages can create recurring events on Facebook. This information is somewhat exported into the iCal, but not through RRULEs, instead, multiple instances seem to present in the iCal.
This needs a some more investigation and a testcase.
Say, setting a reminder for 9 AM on the day of the event.
One enhancement could be to be able to edit the event (description, remainders, color, inviting friends) directly from the calendar.
But I think it may be really difficult to do since the events are not created on our own account.
From #30:
Custom per-event reminders might be doable since that's a local thing. I haven't looked into it too closely yet and instead went with the application-wide reminders, which you can customize in the app settings.
I have no clue how to do it atm
All events are listed twice on my calendar. Birthdays once, but ALL other events twice.
There's no API, but we can probably pull this from the iCal like I did in the Facebook Akonadi Resouce.
Question: can we make use of the Graph API to be able to get the iCal? At least for the cookies or tokens.
I changed my password on Facebook ans add a two factors authentication so that I receive an SMS to login.
Since I didn't see my events on my calendar like before. I installed again the app to be able to reconnect Facebook, but it seems that it is not possible to authenticate with two factors : "Failed to retrieve calendar URI". I can see the text input to enter the code but the page automatically disappears..
Reported on version 0.11
Sign in error appears on the push settings of my Android. I think this app also failed to collect iCal data from the profile's calendar
After 0.26 all-day events are not synced correctly, I suspect commit 711e9ef maybe at fault here.
2018-07-16 13:57:15.617 D/SYNC: iCal sync done
2018-07-16 13:57:16.325 I/FBCalendar: Sync stats for Events I'm Attending
2018-07-16 13:57:16.325 I/FBCalendar: Events added: 65
2018-07-16 13:57:16.325 I/FBCalendar: Events modified: 0
2018-07-16 13:57:16.325 I/FBCalendar: Events removed: 0
.....
2018-07-16 13:59:56.344 D/SYNC: iCal sync done
2018-07-16 13:59:58.910 I/FBCalendar: Sync stats for Events I'm Attending
2018-07-16 13:59:58.911 I/FBCalendar: Events added: 2
2018-07-16 13:59:58.911 I/FBCalendar: Events modified: 63
2018-07-16 13:59:58.911 I/FBCalendar: Events removed: 0
....
2018-07-16 14:09:07.721 D/SYNC: iCal sync done
2018-07-16 14:09:10.499 I/FBCalendar: Sync stats for Events I'm Attending
2018-07-16 14:09:10.500 I/FBCalendar: Events added: 2
2018-07-16 14:09:10.500 I/FBCalendar: Events modified: 62
2018-07-16 14:09:10.500 I/FBCalendar: Events removed: 0
....
....
2018-07-16 14:00:26.322 D/SYNC: iCal sync done
2018-07-16 14:00:30.173 I/FBCalendar: Sync stats for Friends' Birthdays
2018-07-16 14:00:30.173 I/FBCalendar: Events added: 2077
2018-07-16 14:00:30.173 I/FBCalendar: Events modified: 0
2018-07-16 14:00:30.174 I/FBCalendar: Events removed: 0
...
2018-07-16 14:03:32.427 D/SYNC: iCal sync done
2018-07-16 14:03:35.093 I/FBCalendar: Sync stats for Friends' Birthdays
2018-07-16 14:03:35.095 I/FBCalendar: Events added: 2077
2018-07-16 14:03:35.096 I/FBCalendar: Events modified: 0
2018-07-16 14:03:35.097 I/FBCalendar: Events removed: 0
It's a mess with a lot of code duplication.
Probably create Calendar and Event classes and split the code in them.
Since we sync from the Facebook web, the events we get are in the default Facebook language (which is probably determined by location and nationality of the user), which is not always what users want.
It should be either configurable, or it should pick the default language based on the device language settings.
I have reports for this one exclusively from Android 6.0.
java.lang.IllegalArgumentException:
at android.content.ContentResolver.insert (ContentResolver.java:1280)
at cz.dvratil.fbeventsync.preferences.PreferenceAccessor.putLong (PreferenceAccessor.kt:232)
at cz.dvratil.fbeventsync.preferences.Preferences.putLong (Preferences.kt:34)
at cz.dvratil.fbeventsync.Preferences.setLastSync$app_release (Preferences.kt:280)
at cz.dvratil.fbeventsync.CalendarSyncAdapter.onPerformSync (CalendarSyncAdapter.kt:93)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run (AbstractThreadedSyncAdapter.java:272)
I've had to uninstall for now, because I can't have 20, 30, or 50 duplicates of the same event cluttering my calendar. It isn't just all-day events; this is happening with all different events no matter their duration. It's even persisting after I go back into Facebook and decline an event in an effort to stop it duplicating things. I have "events I've declined" set to NOT show in my calendar, but the same duplicate events are still there despite declining and resyncing. Like many people, I pretty much depend on Facebook events for my calendar and don't want to go back to having to manually enter them, so please make fixing this a priority.
Avatar is just a nice-to-have, no other part of the auth/sync process should fail if we cannot retrieve the avatar.
"Sync in progress..."
Right now Android keeps the apps' webview cookies somewhere, so that user is not asked for FB login over and over again. It should still be possible to fully log-out from FB though so that people can switch accounts or what not.
Several log files from users indicate that multiple syncs are executed in parallel leading to missing or duplicated events.
Allow users to rename the calendars to whatever they want.
Make it possible to configure the default colors for each calendar.
...thus causing the authentication process to finish twice - technically it is not a problem, but it annoys me. I also wonder if that might be the reason for multiple syncs being initially scheduled
Birthsdays dont Sync
Multiday events that I have explicitly marked as "Not Going" in Facebook persist in my local calendar regardless of refreshing either my local calendar or resyncing Event Sync for Facebook (ESF), even after waiting days or restarting phone.
"Events I'm not Attending" is disabled in ESF settings. Yet the declined events continue to show locally as if they were "Events I have not Responded To."
I wonder if this stems from the same bug from issue #32: Disabled calendars are not unsynced
ESF is otherwise fantastic!
From various user reports it appears it's not possible to have no all-day reminder at all and custom reminders don't get persisted either.
Another issue I just noticed, slightly more important than the color. If
the event gets updated location on Facebook, the new location isn't synced
and still shows the original location in my calendar.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.