EWS Filter out the US holiday and birthday events in Outlook calendar - calendar

I'm working on calendar sync for two accounts. But when I do this, US Holiday and Birthday Events are duplicating. How to restrict this duplication using the EWS filter?

You can filter out Birthday calendars by excluding any calendars with a FolderClass of "IPF.Appointment.Birthday". With Holiday calendars the PidTagExtendedFolderFlags
property is used to mark the Folder a ReadOnly see Able to write events to read-only calendar via API so you should be able to use that to exclude any of those calendars.

Related

How to list events on Outlook group calendar

In my Outlook client, I have access to a Group Calendar, "XYZ Cloud". Through Outlook, I can create, edit and delete events on this calendar.
When I use the Microsoft Graph Explorer and query /me/calendars, the Group Calendar is not returned. I would expect to see the Group Calendar.
I've navigated to the "Modify Permissions" tab in the Graph Explorer and granted Calendars.ReadWrite, Calendars.ReadShared and Calendars.Read.
Questions:
How can I get the ID of a specific Group Calendar to which I already have access?
How can I retrieve a list of events on that Group Calendar?
It's quite possible that group calendar can be found when you call
GET /me/groupCalendars
To list calendars in calendar group you can call
GET /me/calendarGroups/{id}/calendars
Documentation:
List group calendars
agree with user2250152, and pls make sure you already add correct api permission -- Group.Read.All, Group.ReadWrite.All:
related document:https://learn.microsoft.com/en-us/graph/api/calendar-list-events?view=graph-rest-1.0&tabs=http#permissions

Using google calendar to manage N amount of group calendars

I'm creating an application where there will be a lot of groups in. Every group should have an own calendar.
I was thinking of using google calendar API for a specified admin user that creates a google-calendar/google-calendar-group for all the groups in my application.
Now I'm wondering which way should be the best way to do this?
Create only one calendar but many groups to the calendar
depending on the number of groups I have in the application.
Create a new calendar for every group that I have in my application
Something else?
Is this even possible?
Before you begin, if you don’t want to share the calendar with everyone in your organization, create a group that contains only the people you want to share with.
You can create an organization and sign in to G Suite administrator. Then create multiple groups using either the Groups control in the Admin console, or the Google Groups for Business service.
Here's the steps to create and share a group calendar from G Suite Admin Help:
Sign in with your G Suite administrator account and open Google Calendar.
On the left, above My Calendars, click Add and then New calendar.
Add the name of the calendar (for example, All Hands Meetings), a description, and time zone.
Click Create Calendar.
On the left, click the name of your new calendar.
If you want to share the calendar with everyone in your organization, under Access permissions:
Check the Make available for your domain box.
In the Permissions box, click the Down arrow and choose an option. For details, see the permission
settings.
If you want to share the calendar with a specific group of people, under Share with specific people:
Click Add People.
Add the email address of the group you want to share the calendar with. You can also add individual email addresses.
In the Permissions box, click the Down arrow and choose an option. For details, see the permission
settings.
Click Send.
Important: The settings under Access permissions override the Share with specific people settings.
Users you shared the calendar with get an email message letting them know about the calendar. The calendar is automatically added to their Other calendars list.

Can I view a colleague's calendar over API for Google Calendar for business? Want to use this for detecting possible times to schedule meetings

I can see their calendars on the web when I sign on, can I retrieve this from API? I hope to be able to build an intelligent meeting assistant.
As seen in the Calendar Resource API docs right now:
The Google Data Calendar Resource API is now deprecated and is scheduled for sunset in January 2017. Apps should instead use the Directory API's Calendar Resource object.
As for the suggested Directory API, I think you could specifically use the resources.calendars.get which is described in the docs as (with parameters):
Retrieves a calendar resource.
Parameters:
calendarResourceId - The unique ID of the calendar resource to retrieve.
customer - The unique ID for the customer's Google account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.
-- where I think you can specify the user to get that specific calendar from.

"Out of office" Calendar in Office 365/Outlook

All,
I was wondering if there is any way that you know of to automatically populate a Calendar in Office 365/Outlook based on what other users enter to their calendar.
The HR manager wants to have a calendar that shows when employees are out of office all in one place. Having a shared out of office calendar people can "invite" makes sense, however he believes people will forget to do this and it wouldn't be effective!
I've so far found no obvious way of doing this.
Thanks in advance.
The closest built-in feature to a global or master calendar is not a single calendar, but the ability to overlay multiple calendars in Outlook's Calendar module. External calendars would of course have to be shared/delegated to you first, but you would at least have a central point to view appointments from multiple people using this method.
However, if you prefer a single Calendar but need appointments from other Calendars in it, then you're definitely looking at synchronization - but you can't synchronize multiple calendars in Outlook natively. For that you'll need to look at a custom solution (such as an add-in) or third-party tools:
http://www.slipstick.com/outlook/sharing/more-tools-and-utilities-for-sharing-data/
You could develop an app or a service that uses Outlook Calendar REST API.
Your service would poll the employees calendars, compare their status with a local database and create new events on your shared calendar using again the Outlook API.

Sharing Google Calendar's in an Organization

Question:
Is there a simple way to automatically share a calendar with users in a Google Organization.
Current Technology:
I am looking in to streamlining our calendars within our organization. We are using a Google business account for our calendars, emails, contacts, and we sync it all on to our Mac's.
Current Method:
When we add a new calendar for each office location, (1) we have to create calendar on the super admin account, (2) share it with everyone, (3) each user must accept the calendar, (4) then we use google Sync Select to add the calendar to their list, and (5) finally we sync it with iCal.
Issues with Current Method:
- Too many steps for a large group of users
- Cluttered calendars (since we all share a calendar based off office location)
- Difficult to assign specific events
Thanks in advance. Let me know if you need any more information!
Steps 1-3 can be done automatically through Google Calendar APIv3. You can create a service account, delegate the domain authority to it and then use it to create the new calendars and share them. Take a look into authority delegation here: https://developers.google.com/accounts/docs/OAuth2ServiceAccount#delegatingauthority
The documentation for API v3 is here:
https://developers.google.com/google-apps/calendar/

Resources