Linking to a user's calendar

Hi Everyone,

I've managed to configure the diary to my own Google Calendar, however, I want the diary to link to each users calendar.

I don't want to manually do this for each user and I can't see a way of doing this automatically.

Can someone point me in the right direct (that's not too complicated ๐Ÿคž) ?

Many thanks

Solved Solved
0 5 283
1 ACCEPTED SOLUTION

Aurelien
Google Developer Expert
Google Developer Expert

@GavinDJ wrote:

I was wondering if I could apply a security setting to the calendar table to prevent everyone from seeing each others calendar, but I don't think I can add any columns to the calendar table.


If you have a read access to the calendar, you want to give it a try.

I just gave it a try and there is a column "creator", which should be the calendar owner (although...not always).

So, you may want to combine:

1) set a security filter on each calendar, with the expression:

 

 

OR(
  [Creator]=USEREMAIL(),
  IN(USEREMAIL(),[Attendees])
)

 

 

(this expression check if you are the creator or in the list of attendees to the event)

2) set a show_if condition on each calendar view with the expression:

 

 

USEREMAIL()="john@company.com" for calendar belonging to John

USEREMAIL()="samantha@company.com" for calendar belonging to Samantha

 

 

Show_If condition is under the Display section of the view:

Aurelien_0-1674193234881.png

For reference:

USEREMAIL() - AppSheet Help

OR() - AppSheet Help

IN() - AppSheet Help

 

View solution in original post

5 REPLIES 5

Questions like this should be posted in the Q&A board, where they're more likely to be seen by someone who can provide an answer and won't confuse anyone reviewing this Tips board for the type of content it's intended for. I suggested to moderators that they move the post.

Thanks, I'm new here and still trying to navigate around the community.

Aurelien
Google Developer Expert
Google Developer Expert

@GavinDJ 

If these persons allowed you to access to their calendar, you can have theirs in your calendar datasource.

In this example, I shared my personal calendar (from gmail.com, in yellow) to my profesional calendar (google account - in green).

Here is what I have:

Aurelien_1-1674151917710.png

EDIT:

Regarding this part:


@GavinDJ wrote:

I don't want to manually do this for each user and I can't see a way of doing this automatically


I'm afraid you won't cut through.

Regarding your question:


@GavinDJ wrote:

I want the diary to link to each users calendar.


Each view in AppSheet is for one unique "calendar table", hence one view per calendar. I don't think this is possible, even if you can try some tricks with a bunch of bots. That might be tedious though.

 

Thanks for taking the time to reply.  I thought that may be the case.

I was wondering if I could apply a security setting to the calendar table to prevent everyone from seeing each others calendar, but I don't think I can add any columns to the calendar table.

Looks like the diary view may be coming off the app.  Thanks again.  Gavin

Aurelien
Google Developer Expert
Google Developer Expert

@GavinDJ wrote:

I was wondering if I could apply a security setting to the calendar table to prevent everyone from seeing each others calendar, but I don't think I can add any columns to the calendar table.


If you have a read access to the calendar, you want to give it a try.

I just gave it a try and there is a column "creator", which should be the calendar owner (although...not always).

So, you may want to combine:

1) set a security filter on each calendar, with the expression:

 

 

OR(
  [Creator]=USEREMAIL(),
  IN(USEREMAIL(),[Attendees])
)

 

 

(this expression check if you are the creator or in the list of attendees to the event)

2) set a show_if condition on each calendar view with the expression:

 

 

USEREMAIL()="john@company.com" for calendar belonging to John

USEREMAIL()="samantha@company.com" for calendar belonging to Samantha

 

 

Show_If condition is under the Display section of the view:

Aurelien_0-1674193234881.png

For reference:

USEREMAIL() - AppSheet Help

OR() - AppSheet Help

IN() - AppSheet Help

 

Top Labels in this Space