We are implementing a planning tool, which uses the ms/outlook api to retrieve calendar events. It's working fine with all usual calendars:
https://graph.microsoft.com/v1.0/me/calendars
However, a lot of our users have connected their personal account to their work-account:
https://support.microsoft.com/en-us/office/show-personal-events-on-your-work-or-school-calendar-6ffc71a9-0943-415a-8482-ce0122528a35
This is a direct link to feature:
https://outlook.office.com/mail/options/calendar/calAccounts
I checked the documentation and I can't find any way to access the calendar or the events within the private calendar. Is this right? I think it should pop up as a normal calendar through the Graph API.
Related
I wonder if I can get working places for all users from organization using calendar API. Coworkers from my organization uses google calendar to mark if they work from home or office. I attach screen to show what I am talking about.
I've searched many endpoints from calendar API but did not find suitable one. Is it possible to get those information from API?
It is not yet possible to retrieve those information from the API.
But Google already documented it (tutorial, API reference) and it should come at some point in the (hopefully) near future.
Here is the related issue in their tracker : https://issuetracker.google.com/issues/199918380
I want to create one form using html and Google Calendar API that form contains some input controls, lets's assume input control Name, Venue, Start Time, End Time etc...
I want, the visitor of my website to fill that form and after submission, I want to see the created event in my Google Calendar account.
Yes its possible to do this. You should look into useing a Service account. A service account is like a dummy user. Share your calendar with the service account it will then have permissions to read and write to your person a calendar using the Google Calendar API. Then create your form and using the service account insert into the calendar.
The users wont have to login they will just be able to add these events to the calendar. I have an article that explains how service accounts work in detail that might help Google developer beginners service accounts
I would like to implement a Google Calendar API using FullCalendar Javascript.
Before any start of coding I have some problem to understand what is the main purpose of the Google Calendar API.
As you know there is some Auth process before creation and enabling API.
That means that I, as owner or developer want to use Google Calendar API so I get client/secret/keys strings and it is OK.
I can create an app where I can “promote” my Google Account Calendar being public and then I can show all events from that calendar (dentist booking etc).
Also I am able to use Calendar in another way. For example: Within my App I can create one page where users can auth to their google accounts and see their events
are already created.
But, What if my logged users don't have a Google Accounts.
Google Calendar is strongly connected to already created google accounts? Is it possible to use Google Calendar strictly as an REST API?
I know that this may be a stupid questions but this is something that most of Google Calendar API beginners have problem with.
There are technically two ways of accessing a calendar on Google Calendar.
Your first option is where you are using Oauth2 to authenticate your users. They give you access to their google calendar and you can then insert events directly into their calendar. You can also see the events that they currently have. This as you said wont work if the user in question does not have a google account.
Your second option is to use something called a service account. Think of a service account as a dummy user. It has its own Google calendar account minus the web view. You could potentially us that to store events in a global calendar application calendar. Then when you want to add a user to an event you invite them you can set notification no they should receive an email and they will them be able to add the event to their own personal calendar. For you this may work out better because it does not require you to have access to the Users google calendar the only draw back will be there is no way for you to see if said user has any events going on at that time since you don't have access to their account to check.
I have given you a couple of links to some tutorials that I have write a few years ago that explains the difference between oauth2 and service accounts.
Google Calendars are tied to users, which means Google users. First of all, to access the API you need a GoogleAPIs developer key. This requires a Google account. Then you need Google accounts to use or test with the API.
The Google Calendar is tied to a user account as described at https://developers.google.com/google-apps/calendar/concepts/. One thing to notice is that "event" is an atomic unit in the API and a calendar is a set of events. In other words, a calendar in the Calendar API isn't a timespan like we think of "this year's calendar", it's a set of event objects. Within the app you describe, if the users don't have google accounts then they don't have associated calendars. You would have to tie these users to some kind of public or shared calendar. It's unclear if using the Calendar API solely as a REST API as you describe (without actual or "verified" user accounts) is in accordance with the Terms & Conditions. That aside, in theory it may be possible to use a service like that as a REST API to suit your needs. Maybe you can try inverting the problem so an event becomes the user with a primary calendar. Now the location of the event can be treated as the API-event. Other (normal Google) users can "attend" the location, at the given time, created by this event (=user). You could also apply the same approach to invert the problem by location. Location becomes the user, event becomes the API-event, and attendees are normal users. The latter approach is used commonly in businesses to book resources like rooms, equipment, etc.
Is there an API or TaskLauncher to create calendar appointments/tasks in WP7 Mango? I see that there is now readonly access to appointments, but how can I programatically create new ones?
You can't add new appointments through a third-party application (using the public SDK). Appointment aggregation (listing) is pretty much the extent of its integration with your application.
You can control the user's Windows Live calendar and those appointments will show up. There is no API support but it's not hard to capture traffic with Fiddler while you manipulate the calendar using the Windows Live Mail client. This is how I reverse engineered the SkyDrive interface for direct control not involving a browser. I can help you with getting a WL token if you like.
A recent Ars Technica article rekindled my interest in WebOS so I was looking at the Services API (because I'm interested in building a replacement calendar app). I discovered the following text at the top of the calendar services API documentation:
Note: To prevent unauthorized use of
private user data, this API provides
access only to records created by your
application; that is, you cannot
access records owned by another
application.
What is the point of even having an API if you can't access data created by other applications? At that point there would be no reason for me to use their API rather than building the data storage myself. Am I missing something? Can any WebOS developers weigh in on this?
P.S. If they named their os "WebOS" you would think they'd know something about sane URLs. Check out that ridiculous calendar api doc url!!
The reason for the limited access is because of security, but not just that. Some services have agreements that limit how their data can be used. For example, having an API that would let a random webOS app access your Facebook calendar data would be working around the FaceBook terms of service that control how that data can be used. The same applies to LinkedIn, Google Calendar, and any other service from which the system is pulling information.
If you just need to post an occasional event, there's a better API to use that lets you cross-launch the calendar app with data that the user can accept into their own calendar. That way, you don't create your own bucket, but the user has to manually accept the event.
The reason to use the calendar APIs is to expose your own data to the user of the device. FlightView, for example, uses it to publish a calendar to the user of upcoming flights that he or she is interested in, and if those get rescheduled, it can automatically change them. The Fandango app uses this to push movie times for theaters the user likes into their calendar view. There's lots of possibilities.