want to implement Outlook REST API for WebAPI (stateless). to get all events and sync my app events in to Outlook calender - exchange-server

Platform : WebAPI (StateLess). there is no webpage/HTML page on my app.
Get all events
add events from My DB (my application database)

Take a look at graph.microsoft.io at the events API - http://graph.microsoft.io/docs/api-reference/v1.0/resources/calendar. You can get events from graph.microsoft.com/v1.0/me/events or graph.microsoft.com/v1.0/me/calendarview (for a specific timeframe). You can create new events by POST to graph.microsoft.com/v1.0/me/events.

Related

Retrieve caller-ID in Microsoft Teams in realtime

I'm trying to integrate Teams with an external service by using a Teams Bot/App. The app should call an external API with the caller-ID of the incoming PSTN call.
My success went so far, that I could get a list of the last calls but they were far away from being realtime and the caller-ID was masked.
Is it possible at all to "listen" to call metadata in realtime?
You can Retrieve the Call id by Subscribe for Microsoft Graph change notifications to be notified when your user's data changes, so you don't have to poll for changes. check Use the Microsoft Graph API to get change notifications also check this sample. when you subscribe to call

How does google calendar knows which events to include in sync?

I want to sync the events in my server side application with Google calendar events. I read about https://developers.google.com/google-apps/calendar/v3/sync but I'm not sure how it selects events? Are they per developer application or per user or per user or per user per calendar? or something else? If it is per user, is there any way to get all the changes for events created withmy application or associated with users of my application?

Outlook 365: Keeping specific events in sync with external system

I'm developing an integration with Outlook in Office 365 using the latest office.js api for add-ins.
What I have currently is an add-in, which displays a side pane on the appointment compose form. Inside that pane I have the functionality to create an object in our external based on the appointment, taking the start/end times, subject, location etc.
So I have appointment A in the calendar of an O365 account, and object A in an external system.
Is there a way to keep those in sync? I don't see it could be possible using the Outlook Add-In Javascript API, but maybe using ics files, or the Outlook REST API, or Exchange EWS? I see here plenty of issues with the credentials, as the user has separate credentials in our system.
Any tips? I tried to send from our system an ICS file with same iCal UID, but Outlook ignores it.
You would want to to use the Outlook Push Notifications REST API in your web service to get polled when users make changes to their Calendar. Then use the Outlook Calendar REST API to sync changes from your system to their Calendar.

Get notified about changes in a google calendar

I was wondering, is it possible to set up a Mac OS X app, to get notified when a user makes changes to a Google Calendar. Like what you can do with EKEventStore?
There’s a query method + (id)queryForCalendarListWatchWithObject:(GTLCalendarChannel *) object, but I’m not really sure how you should set up the GTLCalendarChannel object.
Or is the only way, other than polling, to use push notifications?
Thanks in advance.
You can use Google Calendar API which provides push notifications that let you watch for changes to resources. This makes periodic polling unnecessary.
You can use this feature to improve the performance of your application. It allows you to eliminate the extra network and compute costs involved with polling resources to determine if they have changed. Whenever a watched resource changes, the Google Calendar API notifies your application.
To use this API, you need to:
Register the domain of your receiving URL. Before you can set up a push notification channel, you must register the domain for any URLs you plan to use to receive push notification messages.
Set up your receiving URL, or "Webhook" callback receiver. Whenever a watched resource changes, your application will receive a notification message describing the change. The Google Calendar API sends these messages as HTTPS POST requests to the URL you specified as the "address" for this notification channel.
Set up a notification channel for each resource endpoint you want to watch. To request push notifications, you need to set up a notification channel for each resource you want to watch. After your notification channels are set up, the Google Calendar API will inform your application when any watched resource changes.
When a calendar changes, it will notify your app and the app does an API call to get the update. You can use one of the Google API client libraries to utilize push notifications.
Check these documentation and blog about Google Calendar API Push notifications.
Hope this helps!

Trigger script on Google calendar event

I want to trigger some script when new calendar event is created in Google Calendar (say calling some rest API that enters event information to my database). I do not want any kind of UI that triggers the script. Is it possible to achieve this using Google gadget since I do not want any UI? I would really appreciate the help as I am new to Google API.
Thanks a lot
Shubhra
Calendar API has something like notifications. See this link: Push Notifications. From documentation:
The Google Calendar API provides push notifications that let you watch
for changes to resources. You can use this feature to improve the
performance of your application. It allows you to eliminate the extra
network and compute costs involved with polling resources to determine
if they have changed. Whenever a watched resource changes, the Google
Calendar API notifies your application.
Google Calendar API (relevant docs) provides a watch endpoint that allows you to specify a webhook upon certain events.
To set up the webhook, you can call the Calendar API endpoint a POST request to https://www.googleapis.com/calendar/v3/calendars/calendarId/events/watch with the body
{
"id": string
"type": string,
"address": string
}
The "address" field tells Calendar what endpoint to call when there is a new Calendar event. You'll need to create and host this endpoint yourself.
Another option is to use a service like Zapier, which has fantastic integrations for Google Calendar and makes setting up a listener (i.e. a trigger) and corresponding action very simple.

Resources