MS graph user has multiple calendars with name 'calendar' - microsoft-graph-api

we are using software to push events to calendars using MS Graph, however 2 of the users are getting errors saying the user has multiple calendars with the name 'Calendar'
When i use the MS graph explorer on
https://developer.microsoft.com/en-us/graph/graph-explorer
I can see that there are 2 calendars setup the same, but with different ID's.
however in outlook and O365 online, and on the exchange admin console, i cannot see the 2 calendars only the one.
Is there somewhere that we can get to the calendars and either combine them or remove one?
Thanks in advance.

Programmatically ids only will help you to differentiate. To overcome the scenario, i would suggest you to rename the calendar names in a meaningful way in the UI. If its not showing in UI, it means the calendar folder might be hidden.
You updated that you will have a go at renaming it, then will go for the delete if you cant resolve it, as the user doesn't use the calendar much.

I ran into this issue on one mailbox, and came here to post the resolution as I had to dig around and piece together a way to resolve it.
I'm sure there's a way to add the correct MS Graph permissions to an admin account to resolve this without logging in as the user, but I couldn't get that part right so here's what I did:
Took a backup of the user calendar just in case.
Verified only one calendar named "Calendar" was displaying in Outlook.
Have the user login to the MS Graph site as themselves.
https://developer.microsoft.com/en-us/graph/graph-explorer.
If you need to verify the UUID for this user, GET their UUID by running the default query:
https://graph.microsoft.com/v1.0/me/
GET the associated calendars with their mailbox, you can search "calendar" in the sample queries menu to find "GET all my calendars" or you can just paste this in and run the query:
https://graph.microsoft.com/v1.0/me/calendars
You may need to click "Modify permissions" and consent to the permission to read calendar items. If so, you'll receive a notification in the MS Graph query.
With this, I found two calendars named 'calendar', but only one of them was marked as "isRemoveable":true,
Note down this UUID
Again this command may prompt to give additional permissions, but using the reference at https://learn.microsoft.com/en-us/graph/api/calendar-delete?view=graph-rest-1.0&tabs=http I ran the following command:
Choose DELETE in the drop-down, append the command /me/calendars/{CALENDAR UUID} and run it.
You will receive a confirmation message that almost looks like an error. Green-colored response "No Content - 204"
At this point, test the sync again. The user had no ill-effects from this as the offending calendar wasn't even in use/visible in Outlook.

Related

Permissions issues with publishing Google Sheets worksheets on Google Sites

I have a Google spreadsheet comprising of several worksheets and I am trying to publish the worksheets individually on separate webpages, preferably using embed. This is to provide access to users within a Google Workspace domain. The first published worksheet works fine and is duly visible to users allowed to view the Google Sites webpage. Subsequent worksheets are also published successfully but the previously published worksheets are no longer accessible. I get the following message:
"*You need permission to access this published document.
You are signed in as #.org.uk, but you don't have permission to access this published document. You may need to sign in as a different user. "
The above email address is an editor of the spreadsheet as well as being able to edit/view the Google Sites. I have tried everything by only using Incognito windows only, logging out of all accounts, checked settings, etc: I am always unable to publish more than one worksheet from the same spreadsheet at a time.
What am I doing wrong???
PS-1:
Following iansedan suggestion I have anonymised and simplified the spreadsheet. There are 2 tabs I want to publish to web: Group T and Group S.
I publish Group T to the web: works as expected in the browser (Chrome).
I publish Group S to the web and view it in another tab in the browser (Chrome)
It duly shows the published version of Group S but when I click on the other tab (to view the Group T which was OK before) I get the following message:
"You need permission to access this published document.
You are signed in as [my workspace email address], but you don't have permission to access this published document. You may need to sign in as a different user."
This is the link to the spreadsheet. I'm afraid I don't know how to share this better, the only way I could find is if you try to access the spreadsheet I will get a notification and will add your email address so you can view/edit it.
PS-2 Additional info
The respective links for the published are as follows:
Group T This one comes up with the "You need permission to access this published document." message
Group S This one shows the published worksheet correctly (as it was the last published!).
It looks like a caching mechanism somewhere is causing the issue but I have no idea where and how to prevent it! I've cleared the cache in the browser...
To publish individual sheets of a spreadsheet, use the Published Content and Settings button instead of the Publish button.
Uncheck the All Document checkbox and select the Group T and Group S sheets. After that click Escape and Start Publishing.
I had the same problem.
What youre doing is pausing one publication to start another one. Then, the first one is canceled.
Basically, there are two fields on the web publishing tab: one above another.
On the upper one, you chosse wich part of your sheet you will publish. That is, here if Jonh need to see "X", you select "X" and take note of the link to send to John.
On the lower one, you confirm all parts of the sheet that are being published at til that time. In other words, there will be more than one part in this fild. That is, if you havd alredy done the process to John (X), Anna (Y) and Floyd (Z), you will visualize X, Y and Z
Got it?

Read deleted group owners with Graph API

Is there any way to list the owners of a recently deleted group with Graph API? I need to build a process with PowerAutomate to inform all the owners that their group is deleted.
With PowerShell I get this far:
Get-UnifiedGroup -Identity $guid -IncludeSoftDeletedGroups
Then I get a list of owners under the ManagedBy property, to bad, they are AD usernames only, not emails.
With Graph, I don't even get this far, I didn't find an an equivalent of the IncludeSoftDeletedGroups parameter and when I query for a deleted group I simply get an error that it doesn't exist. Can somebody please give me a hint?
https://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.group
This is the call you need to do to get the recently deletedItems for groups(microsoft.graph.group). Please check this DeletedItems Doc.
Currently, there is no way to get the owners from deleted items, please raise the UserVoice

Caller not authenticated when attempting access sharepoint list using Microsoft graph

Trying to use Microsoft's Graph beta to access a Sharepoint list via a registered Azure app using a key. I'm able to successful see/access some lists(looks like only lists created when site was created), but any list I have manually created is missing.
I can do the following get to list most lists in my site:
https://graph.microsoft.com/beta/sites/contoso.sharepoint.com,fc016e3c-d8ae-4ee0-a10c-de6d26788b6a,9a4ea7a5-c3c4-44ae-9f80-273bd67431b8\lists
but for some reason it's only displaying certain lists and none of the ones I created. However if enter the list's GUID like this
https://graph.microsoft.com/beta/sites/contoso.sharepoint.com,fc016e3c-d8ae-4ee0-a10c-de6d26788b6a,9a4ea7a5-c3c4-44ae-9f80-273bd67431b8/lists/BEA4B4A9-323F-441A-BA19-806290B27EF6
I receive "the caller is not authenticated" message back. This is message has me thinking it's a permissions issue, however, my list permissions are the same on all lists. it's as if the graph api can only see lists created by the system and not by end users.
Anybody experiencing this issue?
I've seen this issue on my end. The "save item to list" function works for some accounts and not others... It's extremely weird! Typical SharePoint, I suppose.
What I've come to realize is that GRAPH will sometimes throw an error when trying to save data to a date field and works every time saving data to text fields. If I'm logged in as my main O365 account (with license) I can save to date fields. If I'm logged in with a basic user that I just created on the domain (no license) I can create items unless there's a date field.
If I come up with anything else I'll post it! Sorry, this is more of a work-around than an answer. Hopefully it will spark something else.
Thanks

How do I get a realtime list of all seminars in a given room, filtered by time period, via Adobe Connect's API?

We are attempting to build free/busy calendars on our website for our Adobe Connect seminar rooms using data provided by the Adobe Connect API.
Our first attempt used sco-session-seminar-list. This returned data in the expected format and seemed to work perfectly. However, upon review we found that many existing sessions were not being returned. Some of the rooms do not have the API user setup as a host or presenter, so I suspect that may be causing a problem, though the user can see these sessions in the admin which indicates to me that they should have access.
We then tried report-bulk-objects. This did return all seminars as desired. However, it hits the reporting database which means that seminars created in the last 24 hours may not appear. Worse, it does not appear that there is any way to filter by room (or parent sco-id) using this method.
I cannot find any other relevant methods in the API documentation that would work better than the above two for our needs. However, it seems like a free/busy calendar should be a relatively common use of the API.
We finally found a non-intuitively named function that worked for this sort of information:
url="http://#AdobeConnectUrl#/api/xml
name="action" value="sco-expanded-contents">
name="sco-id" value="#roomID#">
name="filter-gte-date-begin" value="2015-01-01">
name="filter-lte-date-begin" value="2015-01-08">
This function will also work for a more informational calendar as it returns details other than just the start and end times (such as the seminar name). It pulls all sessions that occur under the sco-id requested, including those in subfolders. It also runs in real-time.

Simple Javascript Checkins

Can anyone show me a quick example of posting a checkin with javascript using FB.api('/me/checkins', 'post', etc?? Mine doesn't seem to work. Also does anyone know if this will take a date variable?
The me/checkins appears to be a read-only table (there's no permission to request to do a add). Per the documentation, you can add/remove comments on an existing check-in as well as add/remove a user's like of that check-in.
From the https://developers.facebook.com/docs/reference/api/permissions/
user_checkins : Provides read access to the authorized user's
check-ins or a friend's check-ins that the user can see.
Edit
My mistake, I missed seeing the publish_checkins permission in the list there...disregard.
Did you happen to try posting a checkin via the Graph API Explorer tool? Did it work?

Resources