Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Microsoft Teams - Create Team (complex request)Create a team with multiple channels, installed apps, and pinned tabs using delegated permissions For more information, see https://docs.microsoft.com/en-us/graph/api/team-post?view=graph-rest-1.0&tabs=http#example-3-create-a-team-with-multiple-channels-installed-apps-and-pinned-tabs-using-delegated-permissions
LOCAL loHttp LOCAL lnSuccess LOCAL loJson LOCAL loResp * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * Build the following HTTP request: * POST https://graph.microsoft.com/v1.0/teams * Content-Type: application/json * * { * "template@odata.bind": "https://graph.microsoft.com/v1.0/teamsTemplates('standard')", * "visibility": "Private", * "displayName": "Sample Engineering Team", * "description": "This is a sample engineering team, used to showcase the range of properties supported by this API", * "channels": [ * { * "displayName": "Announcements", * "isFavoriteByDefault": true, * "description": "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements." * }, * { * "displayName": "Training", * "isFavoriteByDefault": true, * "description": "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.", * "tabs": [ * { * "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')", * "name": "A Pinned Website", * "configuration": { * "contentUrl": "https://docs.microsoft.com/microsoftteams/microsoft-teams" * } * }, * { * "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')", * "name": "A Pinned YouTube Video", * "configuration": { * "contentUrl": "https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ", * "websiteUrl": "https://www.youtube.com/watch?v=X8krAMdGvCQ" * } * } * ] * }, * { * "displayName": "Planning", * "description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.", * "isFavoriteByDefault": false * }, * { * "displayName": "Issues and Feedback", * "description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu." * } * ], * "memberSettings": { * "allowCreateUpdateChannels": true, * "allowDeleteChannels": true, * "allowAddRemoveApps": true, * "allowCreateUpdateRemoveTabs": true, * "allowCreateUpdateRemoveConnectors": true * }, * "guestSettings": { * "allowCreateUpdateChannels": false, * "allowDeleteChannels": false * }, * "funSettings": { * "allowGiphy": true, * "giphyContentRating": "Moderate", * "allowStickersAndMemes": true, * "allowCustomMemes": true * }, * "messagingSettings": { * "allowUserEditMessages": true, * "allowUserDeleteMessages": true, * "allowOwnerDeleteMessages": true, * "allowTeamMentions": true, * "allowChannelMentions": true * }, * "discoverySettings": { * "showInTeamsSearchAndSuggestions": true * }, * "installedApps": [ * { * "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')" * }, * { * "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')" * } * ] * } * Use this online tool to generate code from sample JSON: * Generate Code to Create JSON * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString('"template@odata.bind"',"https://graph.microsoft.com/v1.0/teamsTemplates('standard')") loJson.UpdateString("visibility","Private") loJson.UpdateString("displayName","Sample Engineering Team") loJson.UpdateString("description","This is a sample engineering team, used to showcase the range of properties supported by this API") loJson.UpdateString("channels[0].displayName","Announcements") loJson.UpdateBool("channels[0].isFavoriteByDefault",1) loJson.UpdateString("channels[0].description","This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements.") loJson.UpdateString("channels[1].displayName","Training") loJson.UpdateBool("channels[1].isFavoriteByDefault",1) loJson.UpdateString("channels[1].description","This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.") loJson.UpdateString('channels[1].tabs[0]."teamsApp@odata.bind"',"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')") loJson.UpdateString("channels[1].tabs[0].name","A Pinned Website") loJson.UpdateString("channels[1].tabs[0].configuration.contentUrl","https://docs.microsoft.com/microsoftteams/microsoft-teams") loJson.UpdateString('channels[1].tabs[1]."teamsApp@odata.bind"',"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')") loJson.UpdateString("channels[1].tabs[1].name","A Pinned YouTube Video") loJson.UpdateString("channels[1].tabs[1].configuration.contentUrl","https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ") loJson.UpdateString("channels[1].tabs[1].configuration.websiteUrl","https://www.youtube.com/watch?v=X8krAMdGvCQ") loJson.UpdateString("channels[2].displayName","Planning") loJson.UpdateString("channels[2].description","This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.") loJson.UpdateBool("channels[2].isFavoriteByDefault",0) loJson.UpdateString("channels[3].displayName","Issues and Feedback") loJson.UpdateString("channels[3].description","This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.") loJson.UpdateBool("memberSettings.allowCreateUpdateChannels",1) loJson.UpdateBool("memberSettings.allowDeleteChannels",1) loJson.UpdateBool("memberSettings.allowAddRemoveApps",1) loJson.UpdateBool("memberSettings.allowCreateUpdateRemoveTabs",1) loJson.UpdateBool("memberSettings.allowCreateUpdateRemoveConnectors",1) loJson.UpdateBool("guestSettings.allowCreateUpdateChannels",0) loJson.UpdateBool("guestSettings.allowDeleteChannels",0) loJson.UpdateBool("funSettings.allowGiphy",1) loJson.UpdateString("funSettings.giphyContentRating","Moderate") loJson.UpdateBool("funSettings.allowStickersAndMemes",1) loJson.UpdateBool("funSettings.allowCustomMemes",1) loJson.UpdateBool("messagingSettings.allowUserEditMessages",1) loJson.UpdateBool("messagingSettings.allowUserDeleteMessages",1) loJson.UpdateBool("messagingSettings.allowOwnerDeleteMessages",1) loJson.UpdateBool("messagingSettings.allowTeamMentions",1) loJson.UpdateBool("messagingSettings.allowChannelMentions",1) loJson.UpdateBool("discoverySettings.showInTeamsSearchAndSuggestions",1) loJson.UpdateString('installedApps[0]."teamsApp@odata.bind"',"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')") loJson.UpdateString('installedApps[1]."teamsApp@odata.bind"',"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')") loHttp.SetRequestHeader("Content-type","application/json") * Adds the "Authorization: Bearer ACCESS_TOKEN" header. loHttp.AuthToken = "ACCESS_TOKEN" loResp = loHttp.PostJson3("https://graph.microsoft.com/v1.0/teams","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson CANCEL ENDIF * A successful response is indicated by a 202 response status code and an empty response body. ? "Response Status Code: " + STR(loResp.StatusCode) ? "Response Body:" ? loResp.BodyStr IF (loResp.StatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." ENDIF RELEASE loResp RELEASE loHttp RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.