Rest 收到抱怨的消息

Rest 收到抱怨的消息,rest,powershell,yammer,Rest,Powershell,Yammer,我正在尝试从yammer处获取一个用户的所有消息,该用户是使用powershell调用REST的广告组的一部分。但我的代码在“$webRequest=Invoke webRequest–Uri$urlToCall–Method Get-Headers”行出现了中断。我收到“未经授权”和“无法连接”错误。下面是我从中使用的代码。请帮忙 baererToken = "Put your baerer token here" $yammerBaseUrl = "https://www.yammer.co

我正在尝试从yammer处获取一个用户的所有消息,该用户是使用powershell调用REST的广告组的一部分。但我的代码在“$webRequest=Invoke webRequest–Uri$urlToCall–Method Get-Headers”行出现了中断。我收到“未经授权”和“无法连接”错误。下面是我从中使用的代码。请帮忙

baererToken = "Put your baerer token here"
$yammerBaseUrl = "https://www.yammer.com/api/v1"

Function Get-BaererToken() {
    $headers = @{ Authorization=("Bearer " + $baererToken) }
    return $headers
}

Function Get-YamMessages($limit, $allMessages, $lastMessageId) {
    $yammerBatchSize = 20;
    if ($limit -eq $null) {
        $threadLimit = $yammerBatchSize
    }
    else {
        $threadLimit = $limit
    }

    if ($allMessages -eq $null) {
        $allMessages = New-Object System.Collections.ArrayList($null)
    }

    $currentMessageCount = $allMessages.Count;

    if ($currentMessageCount -ge $threadLimit) {
        return $allMessages
    } elseif ($currentMessageCount + $yammerBatchSize -gt $threadLimit) {
        $threadLimit = $threadLimit % $yammerBatchSize;
    } else {
        $threadLimit = $yammerBatchSize
    }

    $urlToCall = "$($yammerBaseUrl)/messages.json"
    $urlToCall += "?limit=" + $threadLimit;
    if ($lastMessageId -ne $null) {
        $urlToCall += "&older_than=" + $lastMessageId;
    }

    $headers = Get-BaererToken
    Write-Host $urlToCall
    $webRequest = Invoke-WebRequest –Uri $urlToCall –Method Get -Headers $headers

    if ($webRequest.StatusCode -eq 200) {
        $results = $webRequest.Content | ConvertFrom-Json
        if ($results.messages.Length -eq 0) {
            return $allMessages
        }
        $allMessages.AddRange($results.messages)
    }

    if ($allMessages.Count -lt $limit) {
        $lastMessageId = $allMessages[$allMessages.Count -1].id;
        return Get-YamMessages $limit $allMessages $lastMessageId
    }
    else {
        return $allMessages
    }
}

$messageResults = Get-YamMessages 100

我没有通读所有内容,但是使用
baererToken
而不是
BearerToken
,这是一个打字错误吗?“Unauthorized”对我来说听起来像是$headers为BearerToken获取了一个不正确的值。此外,您还需要确保将要返回的消息限制设置为最多20条。(我看不到代码中任何地方定义了
$yammerBatchSize
。)看看这里描述的费率限制