Ms Graph RestAPI 创建团队 404

时间:2021-03-18 17:21:55

标签: microsoft-graph-api microsoft-graph-teams

第一次尝试catch有效,他在office365中添加了ms graph AD组。 但是第二次尝试捕获(将组转换为团队不起作用。我收到 404 错误?? groupID 存在于我注意到的服务器上。 得到 404 有什么问题?

我确实在 azure 控制面板上添加了一个秘密令牌。 该脚本具有实时令牌、appid 和tenantid。 还有:租户具有像 group.ReadWriteAll 这样的图形角色。团队和目录也是如此。

Clear-Host

$env:graphApiDemoAppId = ""   # Replace with your Azure AD app id
$env:graphApiDemoAppSecret = ""            # Replace with your Azure AD app secret
$env:tenantId = ""           # Replace with your Azure AD tenant ID

$oauthUri = "https://login.microsoftonline.com/$env:tenantId/oauth2/v2.0/token"

# Create token request body
$tokenBody = @{
    client_id     = $env:graphApiDemoAppId
    client_secret = $env:graphApiDemoAppSecret
    scope         = "https://graph.microsoft.com/.default"    
    grant_type    = "client_credentials"
}

# Retrieve access token
$tokenRequest = Invoke-RestMethod -Uri $oauthUri -Method POST -ContentType "application/x-www-form-urlencoded" -Body $tokenBody -UseBasicParsing

# Save access token
$accessToken = ($tokenRequest).access_token

$headers = @{
  "Authorization" = "Bearer $accessToken"
  "Content-type" = "application/json"
}

try 
{
    # Create group request body
    $groupName = "Test_Kenvh16"
    $groupBodyParams = @{
        displayName = $groupName
        description = $groupName
        mailNickName = $groupName
        groupTypes = @("Unified")
        mailEnabled = $true
        securityEnabled = $false
        visibility = "Private"
    }
    $groupBody = ConvertTo-Json -InputObject $groupBodyParams
    $newGroup = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/groups" -Method POST -Headers $headers -Body $groupBody
    $groupId = $newGroup.id
    Write-Host "group created:" $groupName "id:" $groupId

    try
    {
        #convert group to team..
        $teamBodyParams = @{
            memberSettings = @{
                allowCreateUpdateChannels = $true
            }
            messagingSettings = @{
                allowUserEditMessages = $true
                allowUserDeleteMessages = $true
            }
            funSettings = @{
                allowGiphy = $true
                giphyContentRating = "strict"
            }
        }
        $teamBody = ConvertTo-Json -InputObject $teamBodyParams
        $teamUri = "https://graph.microsoft.com/v1.0/groups/" + $groupId + "/team"
        $newTeam = Invoke-RestMethod -Uri $teamUri -Method POST -Headers $headers -Body $teamBody
        $teamId = $newTeam.id
    }
    catch
    {
        Write-Host "createTeam ExceptionMessage:" $_.Exception.Message
        Write-Host "createTeam StatusCode:" $_.Exception.Response.StatusCode.value__ 
        Write-Host "createTeam StatusDescription:" $_.Exception.Response.StatusDescription
    }
} 
catch 
{
    Write-Host "createGroup ExceptionMessage:" $_.Exception.Message
    Write-Host "createGroup StatusCode:" $_.Exception.Response.StatusCode.value__ 
    Write-Host "createGroup StatusDescription:" $_.Exception.Response.StatusDescription
}

0 个答案:

没有答案