we're currently running into some side effects in regards to recent changes on the GraphAPI/Teams channel creation.
On our tenant channel creation via GraphAPI now results in channels being listed as hidden.
One of our customer doesn't even see them at all.
The only thing mentioned in recent changelogs is the new membershipType, aka private channels (which for us doesn't work at all right now, but that's another story).
We didn't change any logic in our application and even the simple example in the Graph Explorer results in hidden channels.
Is there any known workaround for this behaviour other than unhiding them by hand? Any new parameter perhaps?
Thanks in advance!
Best regards
For reference the Graph Explorer example code:
Endpoint: https://graph.microsoft.com/v1.0/teams/{team-id}/channels
{
"displayName": "Architecture Discussion",
"description": "This channel is where we debate all future architecture plans"
}
Related
We're looking for a way to get a list of all currently active PSTN calls being made into MS Teams. We've tried this:
https://learn.microsoft.com/en-us/graph/api/callrecords-callrecord-getpstncalls?view=graph-rest-beta
That's almost exactly what we need except records do not seem to appear here until the call has ended. What we need for the app we're trying to build is live call records.
We've also tried it by creating subscriptions and getting the ID of specific calls then looking up call records, but this data also appears to be delayed.
Is there a method we're missing here, or equally, is this something that may be added to the API some point soon?
Currently there is no graph API to get a list of active PSTN calls in Teams.
Microsoft will always focus on customer’s feedback and experience, some new features would be added to the services based on customers' feedback in the future, we also recommend you give your new idea in Teams UserVoice here.
They clearly mentioned in the document, we can not fetch the details directly. But you can fetch the records from your application. Using app side bearer token.
In Azure portal on a managed device detail page it shows two types of users,
The "Primary" user and the "Enrolled by" user. I'm trying to figure out how I can retrieve the latter
using the Microsoft Graph API. What I've tried so far is pretty much every managed device related API.
The ones I mainly use are the https://learn.microsoft.com/en-us/graph/api/intune-devices-manageddevice-list?view=graph-rest-1.0 and https://learn.microsoft.com/en-us/graph/api/intune-devices-manageddevice-get?view=graph-rest-1
I've also looked at pretty much all the beta variants of the related API documentation if and when they are available. My problem is that it seems like there is no way to retrieve this information.
You have to query the related object of the managed device
https://graph.microsoft.com/beta/devicemanagement/manageddevices/b32d84d4-50da-469f-a65d-2f1c30f8da67/users
Also you will get object id of the primary owner.
https://www.youtube.com/watch?v=CTEs_lHtZJ4&list=PL8wOlV8Hv3o9TUJxUR9T78TevVjtsRAup&ab_channel=ConceptsWork
https://www.youtube.com/watch?v=yw5Cz5rO6_Y&list=PL8wOlV8Hv3o_KgAx8JmnqM4G97U0vPR9l&ab_channel=ConceptsWork
I'm trying to sync teams and channels between Microsoft Teams and some internal database.
I noticed that:
Neither groups, nor teams, nor channels have a concept of "last modified time". The documentation suggests to use delta queries instead.
It seems that among these three resources, only groups support delta queries. When I try to use delta queries for teams or channels, I get an error.
Groups are not considered modified if a channel is added to (or removed from) a corresponding team. Also, if a channel is renamed, the teams' group is not considered modified either.
So questions:
Is it really not supported to get modified teams and/or channels? Or am I missing something?
Is it planned to add such a functionality to Microsoft Teams Graph API?
The situation is even worse than it seems on the first look, because even if I enumerate ALL the teams and ALL the channels, I cannot say which ones have been modified since last time I enumerated them, because they don't have anything like "last modified time", "version" etc. For instance, if I rename a channel (or edit its description), I won't be able to figure that out during subsequent sync.
At the moment the only Microsoft Teams entity that supports delta queries are Chat Messages in channels. See the documentation for supported entities across the Graph.
To request additional entities support, please go to uservoice and upvote existing ideas or create new ones.
So having been to Ignite in 2017 I was really excited with the new possibilites the Webhooks in Microsoft Graph and binding to Azure functions.
Recently I got the chance to really explore this for myself.
I am looking at this from the perspective of Identity Management - I really want to see what kind of user onboarding/change management we can react to and process with Graph Webhooks and Azure functions. So I started looking at the beta endpoint and the Webhooks available for "/users"
The first thing that struck me was that in the beta only "updated" or "deleted" is a valid changetype. I really would like "created" - since that is when the most work would get done on a user (for example generating some unique attribute values)
Ok I thought and just tried looking at "/users" and only changetype="updated". I created a subscription and an basic Azure function to handle the requests. Updated a user in Azure AD (just changed "Last name" attribute) and sure enough a trigger was sent to my Azure function
Now comes my biggest problems - this is really unusable in its current form.
his seems to react to the all changes /users and i guess the trigger response could contain several users.
It really would be preferable to get individual triggers for each object changed in /users even though they were changed at the same time
Looking at the actual information sent here lies the BIG problem.
I get the id of the user changed (good, but also expected)
I get the organizationId (ok..)
I get the eventTime (good)
I get a sequenceNumber (unsure what this is?)
I get subscriptionExpirationDateTime (ok fine good to have)
I get subscriptionId for the webhook (ok fine good to have)
... but WHERE is information about what data was changed??? Nowhere to be found is what attributes of the user were changed (i my case "Last name"). This makes the triggers totally unusable for "/users" and I cant really think of anyone who could use this function as is?
Sure I know the object was changed but I have no idea WHAT happened and if the change was relevant to my function
Please tell me there are plans to include the actual changes in the trigger response?
EDIT: ok right, yeah this is more a feature request from the actual developers of ms graph - will look for a better place to get this answered
Please provide feature requests here (ex: richer data in notifications, "created" change type) : https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback?category_id=101632
Here are answers to other questions.
Microsoft graph doesn't guarantee ordering of events when sending notifications (ex: your webhook endpoint could be down and we will retry events delayed by up to 4 hours or drop if the outage is longer than 4 hours). Hence "SequenceNumber" can be used to track if an event is in order and hence used as is or if it is out of order and needs a query to Graph to get current state.
Currently, we provide Ids of objects and associations (member, manager) that have changed, whether the object/associations is deleted or updated but not details of other properties that were changed. In its current form, webhook is best used with delta query. Instead of polling delta query every X minutes and in most cases receiving zero changes, developers can create a subscription and perform delta query only when a notification is received. This would help scale in case there are many tenants that needs to be polled.
Delta Query: https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview
Also FYI, webhook notifications for user/group is now also available in V1.0
I always get ended events from the eventBrite api when i use the organizer_list_events. I tried with statuses live, started (and both). But that doesn't seem to work.
The event_search api has a "date:Future" possibility. Which is working fine, but then I don't have a possibility to pass the organiserId.
Note, I work on the platform team at Eventbrite
organizer_list_events does not accept a status parameter:
http://developer.eventbrite.com/doc/organizers/organizer_list_events/
However, user_list_events does:
http://developer.eventbrite.com/doc/users/user_list_events/
In the case that one user has one organizer, these calls should return the same data. It's possible for one user to have multiple organizers, in which case user_list_events could return more data than needed. Still, using the status parameter should cut down on what you're currently receiving.
We're in the process of building a new and much improved API, but I can look at adding a status field to organizer_list_events.
Using the user_list_events I just did this (in c#):
items = XElement.Parse(xmlResult).Elements("event").Where(e=>e.Element("organizer").Element("id").Value == this.OrganiserId.ToString());