循环调用-RestMethod?

问题描述

所以我正在尝试自动一个工作流程,该流程涉及点击 SendGrid 的 API。简要说明.. 使用 SendGrid,您有子用户,并且在这些队友之下。没有现成的选项可以搜索所有队友,因此您必须提供一个用户,然后在下方显示所有队友。冲洗,沿线重复。好吧,我想尽可能地自动化。 所以这个想法是从那个用户那里收集一个队友的电子邮件地址,然后将所有子用户转储到一个变量中,然后循环遍历那些寻找 $email 变量的子用户。 多年来,我从未在我的脚本中实际使用过循环,所以这对我来说是一个新领域,将它与 invoke-restmethod 结合起来简直让我感到困惑。这是我到目前为止所得到的:

$token = 'xxxxxxxxxxxxxxxxxxx'
#First uri is to pull a list of subusers
$uri = "https://api.sendgrid.com/v3/subusers"
#Prompts for target email address
$email = Read-Host "Enter the users email"

$headers1 = @{"Authorization" = "Bearer $token"}
$headers2 = @{"Authorization" = "Bearer $token" 
    "on-behalf-of" = "$subuser"
}
$subs = Invoke-RestMethod -Method get -uri $uri -headers $headers1
$subarray = $subs | select-object username


foreach ($su in $subarray){
    $teamarray = invoke-restmethod -method get -uri "https://api.sendgrid.com/v3/teammates?limit=500&offset=0" -headers $headers2
    #$teamarray.gettype()
}

最后一行被注释掉了。

invoke-restmethod : {"errors":[{"field":null,"message":"authorization required"}]}
At line:18 char:18
+ ... teamarray = invoke-restmethod -method get -uri "https://api.sendgrid. ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod],WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodComma 
   nd

这应该意味着 invoke-restmethod 以某种方式格式错误。任何指针将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)