插入 G Suite 许可证时出现错误 400 "Invalid JSON payload"使用 Google 企业许可证管理器 API 进行分配



多年来,我一直在使用Google Apps Script中的Google Enterprise License Manager API为用户成功分配G Suite许可证。自上周五(4/24/20(以来,我从API收到了一个Invalid JSON payload错误。

我创建此对象以插入许可证分配:

{
"userId": "user@domain.com",
"productId": "Google-Apps",
"skuId": "Google-Apps-Unlimited"
}

我使用UrlFetchApp从Google应用程序调用API脚本:

{
"url": "https://www.googleapis.com/apps/licensing/v1/product/Google-Apps/sku/Google-Apps-Unlimited/user",
"validateHttpsCertificates": true,
"followRedirects": true,
"payload": "{"userId":"user@domain.com","productId":"Google-Apps","skuId":"Google-Apps-Unlimited"}",
"useIntranet": false,
"headers": {
"Authorization": "Bearer ya29.xxxx",
"X-Forwarded-For": "x.x.x.x"
},
"method": "post",
"contentType": "application/json"
}

通常情况下,这是有效的,但现在我得到了回复:

{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unknown name "productId" at 'body': Cannot find field.nInvalid JSON payload received. Unknown name "skuId" at 'body': Cannot find field.",
"errors": [
{
"message": "Invalid JSON payload received. Unknown name "productId" at 'body': Cannot find field.nInvalid JSON payload received. Unknown name "skuId" at 'body': Cannot find field.",
"reason": "invalid"
}
],
"status": "INVALID_ARGUMENT"
}
}

我已经确认:

  • 我们的域拥有G Suite Business许可证,我的帐户是超级管理员帐户,我已在GCP控制台中启用Enterprise License Manager API。

  • 我使用正确的API端点URL和路径参数定义在这里:许可证分配:插入

  • userIdproductIdskuId被包括在JSON有效载荷中

  • 我使用正确的productIdskuId作为我们的域名,如下所定义:谷歌产品和SKU ID

  • 用户存在于我们的G Suite域中

  • 这会影响我测试过的多个用户,包括有和没有当前许可证分配的用户

根据谷歌的开发者指南,我在这里提出了这个问题,并在谷歌应用程序脚本IssueTracker中提交了一个问题。

根据文档,有效载荷应仅包含userIdproductIdskuId只是路径参数,将其包含在url中就足够了。

请求主体:

{
"userId": string
}

相关内容

  • 没有找到相关文章

最新更新