Rest 收到抱怨的消息
我正在尝试从yammer处获取一个用户的所有消息,该用户是使用powershell调用REST的广告组的一部分。但我的代码在“$webRequest=Invoke webRequest–Uri$urlToCall–Method Get-Headers”行出现了中断。我收到“未经授权”和“无法连接”错误。下面是我从中使用的代码。请帮忙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
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
。)看看这里描述的费率限制