Facebook events with no hour value in start_time are returned one day early in fql - ios

Since today (July 5th 2012) Facebook changed the return value for events from a unix timestamp to a string. This messed up my iOS app that displays concert dates.
I grab the event data from the event fql table.
When i look at the json i get back from Facebook, i now see a string like this:
"2012-10-07T19:30:00+0200".
Now, if the event creator did not post a start time for the event on facebook, the api just returns "2012-10-06" - with no time attached, and it returns the event one day to early.
While the facebook page in the browser displays the event date correctly, the api returns the date one day too early.
What is going on here, am i missing something and what is the right way to handle this?

From yesterday everything went back to unix format, i checked and found out that this kind of string ("2012-10-07T19:30:00+0200") was a bug! only some apps were receiving that and in fact the graph api explorer never used it and always used unix time...Thank you facebook, now i have to change everything for the second time in one week.
Here's the bug link:
https://developers.facebook.com/bugs/415058451869226?browse=search_5001222c9ff516a78134883

Related

Gmail Email Markup -- Event Showing UTC Time Instead of Local

Our Gmail Email Markup was working fine for more than a year. Now it shows the incorrect time in the bubble above an email. It still adds the event to the calendar with the correct time.
The event time: June 22, 2020, 17:00 (15:00 UTC). Computer local time is UTC+2.
The Email Markup
The Email Bubble as Rendered in Gmail (Notice the time is shown as the UTC time, not local time.)
The Calendar Event Added (Note this time is correct).
I think it is pretty clear there has been a bug introduced that causes the dates to no longer display correctly in emails. However, no one else seems to be saying anything about this, so it makes me wonder if somehow I am implementing this incorrectly. Does anyone have insight into this problem?
Writing this question got me thinking. I realized that email bubble within Gmail just displays whatever the startDate time is without converting it to the local time of the user. So while I was using:
"startDate": "2020-06-22T15:00:00Z"
what I wanted was the same time, but in local time.
"startDate": "2020-06-22T10:00:00-05:00"
Both of these add the event to the correct time in the user's calendar. However, they will display differently within Gmail itself. It's possible that this adjustment by Google is actually a bug-fix that also broke my code.

Are there issues with MS Graph API CalendarView when querying 149+ days?

I have a graph api that, to spare you details, updates a calendar with events and removes duplicates.
I have events from the source data that are be shown as existing when the code decides whether or not to add it.
If I run 'https://graph.microsoft.com/v1.0/users/somecal#someco/calendarView' with a date in the header, I get a response showing it exists. However, when I log into the calendar via Outlook, it is definitely not there.
This only seems to be affecting some items that are around 149 days out.
It updates about 250 days worth of data, with probably 1000 http requests per run.
Ahhh! When querying All Day events, be sure not to list the TIME in the date time format of the parameters!

URL scheme for opening native calendar with specific event id

At first, I knew there is no public APIs for this approach.
Tapping an event from iOS8 native calendar widget launches calendar with specific event. So, I can guess that there must be a URL scheme for it. Because widget and calendar works on each sand box, So, the NSURL must be used.
I found a some clues from iPhoneDevWiki.net.
It says that calshow:x?eventid=id is an URL scheme that opens specific event, and it is used by SpringBoard.
Since the value of the id param is not described clear,
So, I have tested this url scheme with:
EKEvent.calendarItemIdentifier
EKEvent.externalCalendarItemIdentifier
EKEvent.eventIdentifier
None of them did work.
The wiki may be outdated.
Is there anyone who could opens or reveal the specific event with native calendar?
And I found another clue from similar questions in Stack Overflow.
The calshow: scheme.
It seems to used for open calendar with specific date. It can be used as calshow:[time interval since reference date], the reference date seems to 1/1/2001
It can be used to reveal an event rather than opens it. However, when the calendar is not running on background, This approach also not works.
And I also found that the x-apple-calevent scheme can launches calendar also , But I don't know the details(path and params) at all.
Any clues and opinions will be welcomed.
Best Regars.
I've been able to use the calshow:x?eventid=id scheme by
provide a timestamp (seconds) since reference date (Jan 2001) for x
provide a numeric value for eventid
I've been able to open event details on a simulator using these arguments calshow:685409700?eventid=99.
As you can see date information is inferred from the timestamp and in this case is incorrectly showing that Thanksgiving is on Sep 21st
Lower eventid like 1, 2, up to at least 20 open contact related information, for example using calshow:685409700?eventid=1 brings this up
Using non numeric IDs or numbers higher than 200 doesn't seem to work and they just open the Day View for the specific timestamp
The eventid parameter seems to use some numeric indexing and not actual event/calendar item identifiers
I've accidentally managed to make the url scheme match something, because the id I tried to use started with 16, so I guess it was parsed to the number 16
I've also been able to match some of the events created from my app by using eventid between 100 and 150
Other than that I have no clue about what id the eventid is being mapped to

Date Condition of getting data from Server in iOS

I have a Server which will be pulling some changes in the form of JSON Webservice and that data I will download in my iOS App.
That Thing is done but problem is with date
I have not given any date condition Neither in server side nor in my App
Whatever data will come from JSON webservice I will fetch in my app on starting of the app.
But I will also fetch the changes which I have already made.( Means previous day data or downloaded data)
Should I get the data for the today date from webserver? and IF i get the today date data then what If one missed the todays data.
Should I check from the App side that "Which data is been downloaded "
I am not sure how do I give the condition to getting checked the previous version and Where should the condition I should give ?
Web Server side or the APP side
Is the intent for the app to see the newest stuff when it updates? One approach is to pass a date on the request, which says "give me everything newer than this date". The app would then remember the newest item it receives and use that date to make the next request.
To handle a first time case -- when the app has no newest item yet -- one approach is to send no date on the request. The server would take this to mean "give me the newest items you have".
There's also the need to handle limits. What if there are too many new items to be practically returned? One idea is to return the limit, plus some indication that there are more. Then the app can request again starting with the date of the newest item received, and so on.
If gaps are okay in the app's copy of the data, you can handle the limit case by treating as the first time case... just return the limit number of newest items. If you do it this way, then the best first-time request would be to pass something like [NSDate distantPast]. So the server would always expect a date and always perform the same logic:
count items newer than the date passed on the request if there are
fewer than limit, fetch and return them if there are more than
limit, fetch and return limit items

Eventbrite API: What does event_list_attendees modified_after compare to?

I looked through the questions and found a question somewhat related but it wasn't the same.
If you use the event_list_attendees api call you get back a list of attendees. Those attendees have a modified field. One of the possible parameters in the api call is modified_after.
My question is regarding what triggers the modified field to update? Is this a user profile related field or is it related to this particular event ticket purchase? The api describes these two as the following:
modified_after Return only attendees whose “modified” value is equal
to or after this date/time (e.g., “2013-01-28 00:00:00″)
modified The date and time the event was last modified, in ISO 8601
format (e.g., “2007-12-31 23:59:59″).
Perhaps to explain why I am wondering what triggers modified to update. The goal is to create a small, one day use, mobile website that will allow users to see who has shown up so far for a local event I am working with. I know the api does not directly support this functionality. In my case however "close enough" is "good enough". If someone's ticket being scanned at the door triggers the modified field that would be sufficient.
So, does it?
Great question!
The modified attribute relates only to the individual attendee in the order. So, it won't be triggered by the account wide profile changes for that respective user. However, if a user logs in to Eventbrite and changes the information that specifically relates to this event (example: they change the spelling on their last name for this specific order).
Alternatively, you can actually use /event_list_attendees and set "display_full_barcodes" to "true" to see the status of the barcodes. When the barcode is used, you'll know that someone has been scanned in.
If you come up with a cool hack, then we'd love to check it out!
Hope that helps!

Resources