Query Outlook Calendar for Locations on Events - api

Does anyone know if there is a way to retrieve locations on calendar events? It looks like the api currently only allows users to see title and start/end date on the event. I would like to be able to see the conference room location. Thanks!
Outlook Calendar REST API

When you query for events, you will always get the location back as well as the organizer, attendees, ...
Try the following api, for example:
https://outlook.office365.com/api/v2.0/me/calendarview?startDateTime=2017-07-01T00:00:00Z&endDateTime=2017-07-31T23:59:59Z&$top=10
or if you know the event ID, then you can use the following api:
https://outlook.office365.com/api/v2.0/me/events/[eventID]

Related

Can the Event ID for two or more events be the same for any user in Outlook Calendar API?

I am using outlook calendar api to manage users calendar on a CRM. And as per my knowledge, event ID's for any user are always unique for the events on their calendar. But, in some cases, when I fetch the events for a time window, I get two events with same event ID in the response from the server (till now, I'm getting one SeriesMaster and one SingleInstance). e.g., Please have a look on two events of the same user.
1st event is:
"Start":{"DateTime":"2016-07-13T15:00:00.0000000","TimeZone":"UTC"},"End":{"DateTime":"2016-07-13T15:30:00.0000000","TimeZone":"UTC"},"Location":{"DisplayName":"","LocationType":"Default","UniqueIdType":"Unknown","Address":{"Type":"Unknown"},"Coordinates":{}},"Locations":[],"Recurrence":{"Pattern":{"Type":"Weekly","Interval":1,"Month":0,"DayOfMonth":0,"DaysOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"FirstDayOfWeek":"Sunday","Index":"First"},"Range":{"Type":"NoEnd","StartDate":"2016-07-13","EndDate":"0001-01-01","RecurrenceTimeZone":"Eastern Standard Time","NumberOfOccurrences":0}},"Attendees":[{"Type":"Required","Status":{"Response":"None","Time":"0001-01-01T00:00:00Z"},{"#odata.id":"https://outlook.office.com/api/v2.0/Users('4f3a5396-c4e1-4f96-9d47-88efd09cf7d5#69e9fa32-18c7-4580-8b68-5042cb060d21')/Events('AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBPbQAAAA==')","#odata.etag":"W/\"c0VsZLFXUEWDJV8jau5I2AAAIehEGA==\"","Id":"AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBPbQAAAA==","CreatedDateTime":"2018-03-12T01:49:57.8583046Z","LastModifiedDateTime":"2018-05-02T18:46:31.9407131Z","ChangeKey":"c0VsZLFXUEWDJV8jau5I2AAAIehEGA==","Categories":[],"OriginalStartTimeZone":"Eastern Standard Time","OriginalEndTimeZone":"Eastern Standard Time","iCalUId":"040000008200E00074C5B7101A82E008000000005047993733DCD101000000000000000010000000E97F92FB0575724C8DFBC43970F08489","ReminderMinutesBeforeStart":15,"IsReminderOn":true,"HasAttachments":false,"Subject":"APPT","BodyPreview":"","Importance":"Normal","Sensitivity":"Normal","IsAllDay":false,"IsCancelled":false,"IsOrganizer":true,"ResponseRequested":true,"SeriesMasterId":null,"ShowAs":"Busy","Type":"SeriesMaster"
and, 2nd event is:
"Start":{"DateTime":"2018-05-03T19:00:00.0000000","TimeZone":"UTC"},"End":{"DateTime":"2018-05-03T19:30:00.0000000","TimeZone":"UTC"},"Location":{"DisplayName":"","LocationType":"Default","UniqueIdType":"Unknown","Address":{"Type":"Unknown"},"Coordinates":{}},"Locations":[],"Recurrence":null,{"#odata.id":"https://outlook.office.com/api/v2.0/Users('4f3a5396-c4e1-4f96-9d47-88efd09cf7d5#69e9fa32-18c7-4580-8b68-5042cb060d21')/Events('AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBpbQAAAA==')","#odata.etag":"W/\"c0VsZLFXUEWDJV8jau5I2AAAIehD6A==\"","Id":"AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBpbQAAAA==","CreatedDateTime":"2018-05-02T18:19:45.1643323Z","LastModifiedDateTime":"2018-05-02T18:25:39.7135811Z","ChangeKey":"c0VsZLFXUEWDJV8jau5I2AAAIehD6A==","Categories":[],"OriginalStartTimeZone":"UTC","OriginalEndTimeZone":"UTC","iCalUId":"040000008200E00074C5B7101A82E008000000004F75B80342E2D3010000000000000000100000005F993094248CD348815FEDB972AC66C8","ReminderMinutesBeforeStart":15,"IsReminderOn":true,"HasAttachments":false,"Subject":"Alternate Health- Modern Business","Importance":"Normal","Sensitivity":"Normal","IsAllDay":false,"IsCancelled":false,"IsOrganizer":false,"ResponseRequested":true,"SeriesMasterId":null,"ShowAs":"Busy","Type":"SingleInstance"
Those are not the same. I'm guessing you're comparing in a case-insensitive manner. However, IDs of items are case-sensitive.

Get calendar [public vs private] value from Google Calendar API

I'm trying to figure out how the Google Calendars API works, so far I've connected to everything without an issue and its returning results as expected.
What I'd ideally like to do is use calendarList (https://developers.google.com/google-apps/calendar/v3/reference/calendarList) to get a list of the user's calendars and display information about whether they are set to PUBLIC, e.g. have this boxed checked.
But from everything I've looked at through the api, this isn't something that can be done
Just wondering if anyone sees anything to the contrary or if anyone's come across the problem before. Thanks a lot for your help
I looked in all of the documents about Calendar API but like you said, I can't see any documents that can do or make what you want.
You can only use CalendarList to add and remove existing calendars to/from the users’ list. You also use it to retrieve and set the values of user-specific calendar properties, such as default reminders. Another example is foreground color, since different users can have different colors set for the same calendar.

using meetup API to get nearby event information with event category

Currently, I am using /2/open_events API to get nearby events information by using latitude, longitude and radium as parameter. However, what I want to do is separate the retrieved events information to different categories/topics (eg. Java, football, dance), so is there any way to get event category when I retrieve events information? I checked that there is a category blanket in host group information in the response of this API, which is optional. Unfortunately, most event information I retrieve back does not contain the optional information.
I also tried to use /2/topic_category API, but I have no idea how to match the category information to every event I get from /2/open_events.
So, 1. is there a way to get nearby event information (such as event venue, introduction) together with its category (using latitude, longitude and radium);
      2. if 1 is impossible, is there a way to get event category info by using event ID as parameter?
Thanks. Please help me friends.
It dumb, but meetup doesn't list all available categories by default.
Instead you must do a get request(through their web console) and it will return a full list
for example, to find out all categories you can use for requests
https://secure.meetup.com/meetup_api/console/?path=/2/topic_categories
Currently, with the version 3 APIs, you can add 'group_topics' as a field.
The options I've found are as follows:
A.) Use v3 "find upcoming events" API
B.) Use v2 "open events", and then use v3 "get event" on each event.

Trello: how to generate an activity report using card list change dates

In an effort to unify and automate my activity report across multiple projects I am trying to generate a timeline-like report from several Trello boards.
An event on the timeline would be generated when a card is moved into the "Doing" list, with the time of list change as the start date.
The end date stays at the current date until the card is moved to the "Done" list at which point it's set to the date on which the activity was completed.
I've looked at some tools to connect Trello activity to Google Calendar, so far with no success:
Trello powerups: only provides due dates when connecting to the calendar
IFTTT - doesn't seem to provide Trello as a recipe source
Zapier - Only provides due date and last activity dates as source values
Ducksboard - No template available for this kind of visualisation
Ideally, an "API catalyst" like the ones listed above would be the best solution, alternatively any other suggestion on how to approach the problem using other tools is very welcome (I have a little experience with d3.js).
Just do it yourself with their API, you can check the guide.
Here's my algorithm for a similar task where I show which cards were having that user as a member, so basically it's like "which cards have I been working on yesterday?" report.
Connect Trello SDK;
Authorize user (only read permissions) when he clicks a button (so the popup doesn't get blocked);
Fetch /tokens/[token] endpoint to figure out the user's memberID;
Fetch /members/[memberID]/actions for a required period filtering only by addMemberToCard,removeMemberFromCard actions;
Run a loop over resulting array to figure out datetime difference between addMemberToCard and removeMemberFromCard for every card in the response;
Format everything and show to the user!
As an example, here's my realization of it: Trello Activity Report
Code is here: https://github.com/pistonsky/trello-activity-report
P.S. Instead of using addMemberToCard and removeMemberFromCard action types, you can filter by updateCard:idList and calculate the datetime difference between when card is moved from To Do to Done list.

Is there a way to store metadata on meetup?

I want to use the Meetup.com API to have a group everyone belongs to, but then enable members to receive notifications of certain types of events on their smartphones. For example the group would have 3000 members and have activist meetings, social meetings, and training meetings. Users would be able to specify interests so they would only get notified of the categories they are interested in.
Is there a clean way to do this through the meetup API? If there is metadata like a category that would be perfect.
Looking at their event get api I don't think there is a clean way to do it. Seems storing it as a hidden HTML value is a hacky way to do it. I'll probably end up with another datastore referencing the eventID and store my info there.