For some channels, when conversations api is hit /beta/teams/<team id>/channels/<channel id>/messages/delta, we get an empty batch with next link. On hitting this next link, we get following error response.
{
"error": {
"code": "BadRequest",
"message": "Parameter 'DeltaToken' not supported for this request.",
"innerError": {
"request-id": "b886b260-78ac-43b5-92d4-d0cb11136962",
"date": "2019-12-09T09:39:16"
}
}
}
From the analysis of the same issue for the other channels, this issue seems to be occurring when channel has no new activity for around an year.
I believe this is another symptom of this Known Issue:
Missing teams in list all teams
Some teams that were created in the past but haven't been used recently by a Microsoft Teams user aren't listed by list all teams. New teams will be listed. Certain old teams don't have a resourceProvisioningOptions property that contains "Team", which is set on newly created teams and teams that are visited in Microsoft Teams. In the future, we will set resourceProvisioningOptions on existing teams that have not been opened in Microsoft Teams.
You might be able to fix this by accessing the Cancel using the Teams client.
Related
We are using MS Graph API Teams API to create a filesFolder in a private channel
We find out that GET of :
/teams/f341------b12e/channels/19:9081-----b41c#thread.tacv2/filesFolder
answers 404 with this message :
"Folder location for this channel is not ready yet, please try again later"
(actual ids replaced)
-> if we retry it succeeds after several minutes (!).
While sharing a file in Teams of creating a site in SharePoint with MS365 admin is instantaneous.
Is there a way to have the sharepoint filesFolder created quickly ?
Or is it that there is no SLA on this part of the API ?
I'm trying to get the Department field from the Contact Information in the Office 365 profile using the Microsoft Graph API, but the data being returned doesn't match.
Screenshot of contact information in office.com
Screenshot of the query in the Graph Explorer
Example:
Office 365 user profile page: https://nam.delve.office.com/?u=d10110c2-5f89-40dc-8db2-323e35e24f73&v=editprofile
Microsoft Graph API query: https://graph.microsoft.com/v1.0/me/department
Microsoft Graph API query result:
{
"#odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('d10110c2-5f89-40dc-8db2-323e35e24f73')/department",
"value": "Clinical"
}
I logged into office.com and the Microsoft Graph Explorer using the same account, and all fields seems to match, except this particular field which doesn't.
Could anyone help me find out what am I missing there?
I am not able to repro this behavior. For me, a response from graph API matches the department name stated on the profile page(office.com)
Couple of things to check here -
Make sure you are logged in with correct account at both places.
If not, please share actual screen shot from both places. Also please share request timestamp and client id from graph call.
Hope this helps. Thanks!
Are there any known issues with using the Graph API to talk to Teams, when it's the free offer?
I can authenticate to the Graph endpoint and retrieve my user details, setting the AAD tenant to my "default directory". If I look at my group memberships with GET /me/memberOf, I can see that there are Microsoft 365 groups for each of my teams. But as soon as I try to do anything Teams-related, like GET /teams/{group_id} I get a 403 error: "Failed to execute Skype backend request GetThreadS2SRequest."
I'm going over the Microsoft Teams section of the Graph API and trying to find out how to do two things:
Create a new chat, giving it a topic that correlates to an entity in our app (essentially creating a chat around an entity), invite specific users into it, and send messages to the chat.
Access the currently logged-in user's private chats, filtered by their topic, and show their contents inside our app.
For #2, it looks like it should be possible using beta endpoint of the Graph API, but I get 403 Forbidden errors both in the Graph Explorer when trying to access https://graph.microsoft.com/beta/me/chats, and in my own app, after enabling the Chat.Read permissons for it.
For #1, it looks like the API doesn't officially support creating new chats at all.
Is there any approach we can use to create and manage chats? Is there an alternative, perhaps not MicrosoftGraph-based API?
as you mention, the ms graph doesn't yet support initiating group chat. You would use the MS Bot Framework for this: https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/bots/bot-conversations/bots-conv-proactive
I see the docs on these Chat api do exist, but they are not present in the Graph Explorer. I tired testing them in the OfficeApiEditor tool with a v2.0 App Registration and Delegated permissions (Chat.Read) and i get this:
Failure - Status Code 500
"code": "InternalServerError",
"message": "Error while processing response.",
so maybe it will take some time before they are really available in beta.
In MS teams, there is a api called ChatMessage to post a message to a chat(only if the chat already exist or started). But, there is no api to create/start a new chat. I have raised a feature request. Do vote for this to suggest this idea to Microsoft.
https://microsoftteams.uservoice.com/forums/913786-microsoft-teams-free/suggestions/38776681-it-would-be-awesome-l-if-there-is-an-api-functiona
I used the Graph Explorer to test against my Office 365 profile. Everything works fine accept the Microsoft Teams (beta) API. If I use GET https://graph.microsoft.com/beta/me/joinedTeams I get
Status Code 401 - Looks like you may not have the permissions for this
call. Please modify your permissions.
{
"error": {
"code": "",
"message": "Authorization has been denied for this request.",
"innerError": {
"request-id": "a1733d8a-5adb-45ad-a0ad-463595d71a89",
"date": "2017-06-09T14:33:11"
}
}
}
There seems no option for give permission for Microsoft Teams. Has anyone figured that out, yet?
The documentation page for listing your joined teams is at https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_joinedteams. It looks like this call requires the User.Read.All or User.ReadWrite.All permissions. To change your permissions in the Graph explorer, you can click Modify Permissions
Then find and enable either permission:
However, these scopes require tenant administrators to let the Graph Explorer use admin only scopes. You can either just login as an administrator to just test with that account, or you can let any user in your organization access admin scopes through the explorer by clicking the link that says grant access to your entire organization.
Also, I'm glad you found the Microsoft Teams samples. We just added these last week and it's great to see developers are trying them out! Thanks for your feedback on the permissions process for the Teams in explorer, I'll pass that along to all the engineers on the project.
I've created a command line tool that lets you bulk create new Microsoft Team channels using the Graph APIs outlined above. It includes instructions on how to register your application for use with your Teams environment - and provide administrative consent so that non-admins can use it.
One of the API calls is to "joinedTeams", which lists the Teams you're currently a member of. Take a look in "SelectJoinedTeam" function in the ChannelSurfCli/Utils/Channels.cs class.
https://github.com/tamhinsf/ChannelSurf