How to display public and private data on a Google Calendar that members can subscribe to - google-api

I am trying to figure out the best approach to doing this. Here's the scenario I have.
Using a company Google Calendar and its API, I want to be able to:
Add public events that anyone can see.
Add private events that users logged into my website can see.
Allow users logged into my website to add/edit private events.
Allow users logged in to be able to subscribe to the calendar.
But not allow just anyone to be able to subscribe to the calendar because of the private events.
I do not wish to have to manage "sharing" the calendar with individuals.
Basically, I don't know if I should just use two separate calendars, one that is public and one that is private, and then on the private calendar "share" the calendar with that person's email pragmatically, or use one calendar that is public and then somehow hope that the public calendar doesn't end up in Google's search engine and/or someone outside of my logged in users.
I hope this was clear as to what I am trying to accomplish. Please let me know if I can clarify anything.

Related

Can't get a list owned by me in Google Calendar API

Using Google Calendar API v3 to get the calendar list.
However, some users are not able to retrieve their own owner's calendar.
I tried using the Try this API for CalendarList#list to retrieve it,
but it did not return the owner's calendar.
https://developers.google.com/calendar/v3/reference/calendarList/list
However, if the user specifies calendarId as primary in CalendarList#get,
it can be retrieved successfully.
https://developers.google.com/calendar/v3/reference/calendarList/get
Do you have any advice for me?
Can't get a list owned by me in Google Calendar API
Answer: There is no endpoint which will return a full list of all calendars Owned or that the user simply has access to. As this endpoint does not exist the answer to your question is you cant so its working as intended.
In actually you have misunderstood what the calendarlist is. See below
What is calendarList and how does it work?
The calendarList.List is mealy the list that appears on the bottom left hand side of the UI window. There is no guarantee that a user will have anything in this list as it depends upon how the user added the calendar to the list in the first place. The user could also have deleted it form the list. The UI tends to do it automatically but if it was added programmaticlly it will probably not appear it the users calendarlist. So you should not be relying upon the calendarlist to contain a list of all the calendars a user has access to. please see Events and calendars
All users do however have a primary calendar you can always do calender.get on primary and you will get back the primary calendar for that user.

Using Google Classroom Share button to add assignment

I own a website and have created several quizes for teachers to give to their students about the info on my site. I wanted to help make it easier for teachers to use by having a button to add the quiz to their Google classroom. I figured out how to make the button, and then set out to convert my quiz into a Google Form.
I was all excited because I realized I could make the form self grading, which would really make it easy for teachers. I finished my form and put the share button on my website. However the problem is that when teachers assign the quiz, I get the results instead of the teacher. It's like it's just linking the students to MY form instead copying the form into the classroom for the teacher to use.
Anyone know a way to fix this?
I get the results instead of the teacher
When you enable the option Get email notifications for new responses - the notifications will be received by default by the person who created the quiz - you.
having a button to add the quiz to their Google classroom
This means providing a link to fill out the form - the from owner who is going to receive the notification emails will still be you.
created several quizes for teachers to give to their students
What you can do is to add the teachers as collaborators of your form.
In this case, each of the collaborators - including you, can tick or untick individually the option of receiving notification emails.
HOWEVER: all collaborators who opt for receiving notifications will not only receive notifications about new responses from their classroom, but about all new responses.
CONCLUSION
What you need to share your form with all teachers (as collaborators) and ask them to make a copy of it.
Each teacher will be the only owner of his copy and the only receiver of notification emails.
Each teacher needs to create his own Send form link and add it to his class room.
Each teacher should also set his own destination spreadsheet for responses
If you want to automatize the process, you need to write a script that creates an individual copy for each teacher who clicks on your sharing button, but this requires coding (e.g. Google Apps Script).

How get user contacts list from EWS

I'm developing web application which is similar to address-book,
now I want to create a page with list of user contacts. I already have user email and show out_of_office badge using GetUserOOFSettrings API method.
Does the API for getting user's (favorite) contacts list exists?
E.g. to get MS Lync contacts which user have, or outlook contacts...
Does some better way for implementation of current feature exists?
Thanks
Have a look at https://msdn.microsoft.com/EN-US/library/office/jj190895(v=exchg.150).aspx. Contacts are just items in the user's mailbox. You might also download EWSEditor to poke around and see what's available.

Is it possible to update multiple calendars using google calendar api

I want to allow users of my site to schedule an appointment with other users. Once both users agree on the date and time it will update both their calendars to show this (assuming they are authenticated).
Is this possible or is the Calendar api simply for updating one calendar as an authorized user?
Thanks in advance!
As long as the user / users you are updating calendars for have both authenticated your application yes you can add events to their calendars.
A few things to note I the beginning. There is a difference between a calendar list and a calendar. Calendar list is the list on the left hand side of all of the calendars a user has. A user can have more then one calendar so be sure to ask the users which calendar they will want to add the event to.

How to automatically subscribe a user to a public calendar in Windows Live Calendar?

I have a public calendar on my site and want to provide the users a link that automatically subscribe them to this calendar on their Windows Live Calendar.
Been looking for info and couldn't find anything, just the way of doing this manually inside Windows Live Calendar.
Do you know if there is a way of doing this?
Thank you

Resources