首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LastPass企业API新用户请求

LastPass企业API新用户请求
EN

Stack Overflow用户
提问于 2022-06-24 13:42:33
回答 1查看 203关注 0票数 1

我正在尝试使用LastPass Enterprise来使用Powershell自动在我们的系统中创建新用户。我似乎无法在代码中正确地调用API。我几乎可以肯定,这与“数据”对象有关。这是我正在通过身体的批处理对象。

代码语言:javascript
运行
复制
$lastPassObject = @{
      cid = "G1TUROWN";
      provhash = "N0TM!NE";
      cmd = "batchadd";
      data = @(
        {          
          username = $email;
          fullname = $firstName + " " + $lastName;
          password = "Toys4Trucks22!";
          password_reset_required = "true";
        } 
      )
  }

这是我的API调用

代码语言:javascript
运行
复制
Invoke-RestMethod -Uri "https://lastpass.com/enterpriseapi.php" -Method Post -Body $lastPassObject -ContentType "application/json"

然后是我收到的错误

引用API:https://support.lastpass.com/help/add-new-users-via-lastpass-api

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-24 13:53:55

你需要在发送之前把你的身体转换成json。另外,还可以将Data部分放在数组中的scriptblock中。这需要是一个哈希表,而不是scriptblock。

代码语言:javascript
运行
复制
$lastPassObject = @{
      cid = "G1TUROWN";
      provhash = "N0TM!NE";
      cmd = "batchadd";
      data = @(
# This need to be an hashtable. You were missing the @
        @{          
          username = $email;
          fullname = $firstName + " " + $lastName;
          password = "Toys4Trucks22!";
          password_reset_required = $true;
        } 
      )
  }

$Body = $lastPassObject | ConvertTo-Json
Invoke-RestMethod -Uri "https://lastpass.com/enterpriseapi.php" -Method Post -Body $Body -ContentType "application/json"

如果在此之后仍然存在问题,请确保检查json的实际外观(在ConvertTo-Json之后),以便准确地知道您要发送什么,并且能够更容易地发现差异。例如,当我第一次这样做的时候,我立即发现数据部分都是错误的,格式化是明智的,并因此发现了缺少的@

此外,通过查看转换后的json和它们的文档中的示例,您仍然可以看到password_reset_required是一个布尔值。我将您的"true"更改为$true,以便相关的json能够达到预期的效果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72744980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档