【发布时间】:2018-09-17 18:36:35
【问题描述】:
我找到了this blog 关于如何让所有用户使用 REST 但我收到一个错误:
PS C:\windows\system32> C:\Temp\YammerUsers.ps1
https://www.yammer.com/api/v1/users.json?page=1
https://www.yammer.com/api/v1/users.json?page=1 System.Collections.ArrayList
The '++' operator works only on numbers. The operand is a 'System.Object[]'.
At C:\Temp\YammerUsers.ps1:34 char:16
+ return Get-YamUsers($page++, $allUsers)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : OperatorRequiresNumber
代码如下:
$baererToken = "TOKEN REMOVED"
$yammerBaseUrl = "https://www.yammer.com/api/v1"
Function Get-BaererToken() {
$headers = @{ Authorization=("Bearer " + $baererToken) }
return $headers
}
Function Get-YamUsers($page, $allUsers) {
if ($page -eq $null) {
$page = 1
}
if ($allUsers -eq $null) {
$allUsers = New-Object System.Collections.ArrayList($null)
}
$urlToCall = "$($yammerBaseUrl)/users.json"
$urlToCall += "?page=" + $page
$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.Length -eq 0) {
return $allUsers
}
$allUsers.AddRange($results)
}
if ($allUsers.Count % 50 -eq 0) {
return Get-YamUsers($page++, $allUsers)
}
else {
return $allUsers
}
}
$users = Get-YamUsers
$users | Select-Object id, email
$page 不是整数,因此无法递增,但我无法找到如何编辑此代码以使其工作。有什么想法吗?
【问题讨论】:
标签: yammer