Using MS Graph API to subscribe/import an iCal URL - microsoft-graph-api

How can I use the Microsoft Graph API to import/subscribe an Office365 user to a calendar hosted at a URL in iCal format? For example, suppose I have a calendar hosted at https://example.org/events.ical and I want this calendar to appear in a user's Outlook hosted on Office365?
If I were doing it manually I'd follow these instructions. But I can't find a Graph API for doing it.
Doing the AzureAD auth/permissions/token isn't an issue, I have that all working. It's just which API to call for Outlook on Office365.

I'm afraid this isn't a supported method. You would need to parse the events from the iCal feed in your app and then use Graph to create the actual events.

Related

Can I send a OneDrive File Request using Microsoft's Graph API?

Microsoft OneDrive allows you to send a "file request" so others can send you very large files without needing a OneDrive account themselves.
I'm wanting to use an API (probably Microsoft Graph API)) to automatically create file requests on a user's behalf, and delete them later too.
Is it possible to create a OneDrive file request via an API? If so, where is that documented?
Thanks for your time!
Looks like that feature is not available yet. I see a feature request for the same in MS Graph user voice page. Please upvote/comment on the same so that the feature team will get better visibility.

Programmatically create calendar event in outlook.com like .ics

I'm trying to understand if it's possible to use a url or api to open an Outlook.com calendar event in the users outlook.com/calendar with prefilled information? Essentially, just like an .ics file but using the webview in outlook.com
Story: as a user with no experience with outlook calendars, I want to click a button on a website and have it open a new calendar event (values pre-filled) in my outlook.com, so I spend as little setting up a meeting.
You could use the create event operation in the Microsoft Graph and then retrieve the weblink property of the event you just created to redirect the user to it.
I developed a free web app to produce ics and host it on AWS. its free to use.
I will appreciate to get your feedback.
https://calex.link

Sharing a calendar with another user via the Microsoft Graph API

I'm working on an application that does OAuth authorization on behalf of multiple users. My application wants to be able to create a calendar for user A and then share that calendar as read only to user B. It will then create events on that calendar so that they appear for user A as read/write and for user B as read only.
Obviously the Microsoft Graph API supports creating a calendar and putting events on it. My question pertains to the sharing part.
Does the Microsoft Graph API (or the Outlook 365 REST API) support sharing a calendar from one user to another user? I wouldn't want user B to receive the typical email that announces that user A shared a calendar with them. After creating the calendar under user A's account, I'd want to use user A's credentials to set up the sharing permission to user B. Then I would use user B's credentials to add the shared calendar to their list of calendars so that they see it in the Outlook 365 calendar interface.
I've read through a lot of the documentation and have been playing around with a prototype, but I can't find where this use case is supported.
I'm afraid this isn't possible to do via Microsoft Graph. The scenario seems reasonably straight forward, I recommend visiting the UserVoice and adding this suggestion.

How can I get iCal url using Google calendar api

I am successfully able to read/write calendar and events using Google Calendar API. I would like to get an actual private URL to the calendar in the same code. How can I do this?
Edit:
I suspect all I need is obtain magicCookie through API, but I do not see that this is possible can anyone confirm if it is or it is not?
Retrieving of magic cookies through the API is not possible.

Migrating from google calendar api v2 to v3 - Client Authorization

I coded a desktop calendar application a while ago, based on an existing database for an older calendar.
A bit later I added functionality to interact with google calenders using the v2 api, that is deprecated for a while now. Functionality might brake in november: Deprecation Policy ..so I thought it's about time to update to the v3 api.
What my calendar application does related to google calendar:
Writing/Reading in a shared google calendar
Writing/Reading in own (multiple) private google calendars
Syncing private/shared google calendars into an own database.
In v2 it was pretty easy to login to any calendar having the credentials with the GoogleDataApi
CalendarService calService = new CalendarService("MyCalendar");
calService.setUserCredentials(account, password);
and then reading, writing, update events.
In the v3 api theres no clientlogin anymore, how would I proceed with oauth2 to achieve the same functionality? How would I let a user login from my desktop application to his google calendars, so he is able to sync/view/edit/add google events?
Updating is a good idea! For v3 you should take a look at Oauth2 for desktop app (you will need to get and store Oauth2 access token and a refresh token for your users to not need the user to re-enter their credentials). The calendar documentation for this: https://developers.google.com/google-apps/calendar/auth
The generic Oauth2 documentation: https://developers.google.com/accounts/docs/OAuth2InstalledApp
Some more documentation from drive: https://developers.google.com/drive/web/about-auth
And the most useful of all, the playground to try stuff out: https://developers.google.com/oauthplayground/

Resources