How do i know if an event is an all day meeting? (Google Calendar) - google-api

In the event documentation here it says that the start.date field will be poplulated if an event is an all-day event. But when i create an all-day meeting and then query it with the https://www.googleapis.com/calendar/v3/calendars/{calendar}/events/{event} url the start and end responses dont have a date field, they come back as:
"start": {
"dateTime": "2022-08-25T00:00:00+01:00",
"timeZone": "Europe/London"
},
"end": {
"dateTime": "2022-08-26T00:00:00+01:00",
"timeZone": "Europe/London"
},
Picture from the documentation below
Update:
I'm creating a meeting on my calendar, selecting all day then adding a room.
I'm then querying this event using the https://developers.google.com/calendar/api/v3/reference/events/ page. Here i'm putting in my calendar (my email) and the event id. The correct event is returned but the start and end dates come back as this:

This might be a bug:
All-day events containing a room don't include start.date and end.date fields, even though these should be populated in all-day events, according to the docs:
start.date: The date, in the format "yyyy-mm-dd", if this is an all-day event.
Issue Tracker:
I went ahead and filed an issue in Issue Tracker:
All-day events containing a room don't include date field
Consider starring this issue in order to keep track of it and to help prioritizing it.

Related

How to return most recent data based on google form response timestamp

New here, but I've been wracking my brain over the last two days, and I haven't been able to figure out the solution.
I'm working on an Inventory Management tracker for personal use. I have an tab named "Index" with Columns "Item ID" and "Location", and the other tab would be the google response form with columns "Timestamp", "In/Out", "Item ID", and "Location".
I'm looking for a formula that will pull in the most recent location info from the Google response sheet, with a match to the Item ID.
I've tried filters, but keep getting a match error.
I'm open to Queries, but am very new to them, so will need some help coming up with what works best.
I dont know about google-sheets, but in excel you could add a unique key column to your Response table - eg =ItemID&"-"&TimeStamp
Then in your Items table find the most recent Timestamp for that Item with MAXIFS
Then use that most recent timestamp value for the item to to a vlookup using the Response.Key column to get the location

Why GA4 doesn't set timestamp that I send with event?

I'm setting server events and sending to GA4. And I need to set timestamp_micros with event. But GA4 inteface always shows me the upload date of event, not that I setted. Also I see in Bigquery export that my event has upload timestamp. I even tried to send event via Event Builder, but it still shows upload timestamp.
And yes, I always set timestamp within last 72 hours according to documentation
body I send:
​data = {
"user_id": "123456",
"timestamp_micros": "1636025014649000",
"client_id": 'TLei4bvWcgN0rPjwmbMrT2QaIDRy7It5bzc0xNJ14Ew=.1635349750',
"non_personalized_ads": False,
"events":[{ "name":"tutorial_begin",
"params":{}
}]
}
Does anyone know why GA4 doesn't set timestamp_micros?
Please help, it's really important.
Only the one thing that I noted that in bigquery export in column user_propperties.value.set_timestamp_micros in the image in the rows 3 and 4 I see the exactly difference between my timestamp(setted) and ga4 timestamp(uploaded). But in column event_timestamp is uploaded timestamp. So we can say that GA4 sees my timestamp, but in the inetrface it shows uploaded timestamp.
It works. But in my case problem was that I looked at events_intraday_* table, because in events_intraday_* table it shows only uploaded time. And in the next day when data go to the events_* table column event_timestamp will have my setted timestmap.
Also I see the right my setted timestmap in GA4 interface.
And yes, I always set timestamp within last 72 hours according to documentation
I was shocked that in practice if event timestamp date doesn't equal the current date (in timezone that setted in your GA4 settings) then GA4 will not catch your event.
For example, if you send event with timestamp_micros date 2023-01-23 (yesterday), but current date in timezone of your GA4 is 2023-01-24 (today) so GA4 API say 200 OK, but doesn't catch your event.
I don't know why Google do this to us :(

Microsoft Graph API: Filter messages received last month

I was wondering if Microsoft Graph has filtering available to retrieve emails only received last month that is from 1st day of last month to last day of last month.
Also, I save custom user properties with each email called "CompletedTime". I would also like to know if there is any filtering which would only pull emails which has value in custom user property "CompletedTime".
Thank you in advance.
KQL has a reserved keyword for last month https://learn.microsoft.com/en-us/sharepoint/dev/general-development/keyword-query-language-kql-syntax-reference so something like
https://graph.microsoft.com/v1.0/me/messages?$search="received:\"last month\""&$select=subject,receivedDateTime&$Top=1000
Should work to return the last months email, you could also do a filter or a search using a date range.
Also, I save custom user properties with each email called "CompletedTime". I would also like to know if there is any filtering which would only pull emails which has value in custom user property "CompletedTime".
If you know what the extended property representation of the property is then you can use a Filter on that. (If you don't know what the extended property is then use a MAPI editor like OutlookSpy of mfcmapi to work it out.

DHTMLX Scheduler recurring year events - Problems with rec_type

I'm trying to add a recurring event in my Database using dhtmlx scheduler. I'm using a full customized Lightbox with my own fields. Daily, weekly and monthly Events will be added perfectly to the database. Maybe i overlooked something
I've tried to save the exact rec_type like the monthly event, because they are using the nearly the same template, there is only one difference between them. I changed "month" into "year".
At the end, my entry looks like this:
{
end_date: "09.06.2026 12:00"
id: "a97ede9d-372f-4360-9fdb-e97e26aaacf8"
rec_type: "year_5_4_1#09/06/2026"
start_date: "05.09.2019 12:00"
text: "test12345"
}
I expect the output of all events on the first thursday in may until 2026. Maybe you can help me to find out, where the error is.
If recurring events start in May, the start_date also must contain May. I.e.
start_date: "05.05.2020 12:00"
The client side gets data from the rec_type field as a string of the following format:
[type]_[count]_[day]_[count2]_[days]#[extra]
where:
type - the type of repetition: 'day','week','month','year'.
count - the interval between events in the "type" units.
day and count2 - define a day of a month ( first Monday, third Friday, etc ).
days - a comma-separated list of affected week days.
extra - extra info that can be used to change the presentation of recurring details.
So, rec_type for each first Thursday in May must be:
rec_type: "year_1_4_1_"
Demo to check how it works.
If you need more details about rec_type property, please find them in docs.

Time based sliding windows in Rethinkdb

i am testing Rethinkdb for a specific application
i have a collection of events each with it is own timestamp eg:
[{ event: "event1" , timestamp: "2016-05-28T00:01:00Z" },
{ event: "event2" , timestamp: "2016-05-28T00:02:00Z" },
{ event: "event3" , timestamp: "2016-05-28T00:03:00Z" },
]
and suppose that now is "2016-05-28T00:02:00Z".
is it possible to run a sliding window ** between() and change() query** on rethinkdb that works on time based events in order to extract events that are happening in this minute?
I know that there is the operator between() but in the documentation is written that r.now() is evaluated only when the query is fired and not during time.
Thank-you.
There isn't a way to do that inside of RethinkDB. You could subscribe to all changes on the table and post-filter on the client, which would actually work pretty well since most writes will be setting the timestamp to something within the last minute.

Resources