Функция Powershell не возвращает ожидаемый ответ Graph API после тела - PullRequest
0 голосов
/ 06 марта 2020

РАЗРЕШЕНО: Я не назначал функцию переменной, когда вызывал ее: (

Цель: создать задачи планировщика со ссылкой на вложение на основе хеш-таблицы данных.

Подход: создайте задачу с заголовком и правопреемником, используя POST (Fn A), затем ЗАПИШИТЕ новую задачу с URL-адресом ссылки (Fn B). Fn A и Fn B работают отлично.

Проблема: попытка вернуть ответ POST 201 (тело), ​​чтобы новый TaskID мог быть передан в функцию PATCH, но назначенная переменная возвращается как ноль. Функция выполняет потоковую передачу ответа на терминал.

также пытался перехватить invoke-webrequest response.content с тем же результатом

Я использую PS 6.2. Ищу совет о том, почему это не удается, или альтернативный подход?

Function Add-Task {

    Param (
        [parameter(Mandatory = $true)]
        [string]$Title,

        [parameter(Mandatory = $true)]
        [string]$Assignee,

        [parameter(Mandatory = $true)]
        [string]$PlanID,

        [parameter(Mandatory = $true)]
        [string]$bucketID
        )

        $Body = @{                 
            "planId" = $PlanID
            "bucketId" = $bucketID
            "title" = $Title
            "assignments" = @{$Assignee = @{"@odata.type" = "#microsoft.graph.plannerAssignment"
                                            "orderHint" = " !"}
                             }                         
                 } 

        $Body = $Body | ConvertTo-Json

        $uri = 'https://graph.microsoft.com/v1.0/planner/tasks'

        $params = @{
            Uri         = $uri
            Headers     = @{ 
                        'Authorization' = $authToken.access_token 
                        }
            ContentType = 'application/json'
            Body        = $Body
            Method = "POST"
            }
       try {
            $newTask = Invoke-RestMethod @params  
            return $newTask        
        }
       catch {
               write-host $_.exception.message   
            }
        }


PS  >$newTask.count --> 0
...