客户Subuser API拒绝权限

时间:2017-08-18 07:27:03

标签: python sendgrid sendgrid-api-v2

我试图通过SendGrid Web API v2管理子用户account limits,但我一直在努力:

{u'error': {
    u'message': u'Permission denied, not allowed to manage users',
    u'code': 401
}}

我正在做的是使用DATA https://api.sendgrid.com/apiv2/customer.limit.jsonapi_user=your_sendgrid_username&api_key=your_sendgrid_password&user=subuser_username&task=retrieve发帖,就像文档建议的那样。

requests.post('https://api.sendgrid.com/apiv2/customer.limit.json',
    data={'api_user': 'my_sg_username',
          'api_key': 'my_sg_password',
          'user': 'subuser_username',
          'task': 'retrieve'
    }).json()

我的帐户具有管理员权限,我可以通过用户界面进行更改,但不能使用API​​的v2进行更改。

在某个地方我有什么选择吗?

几个笔记:

  • 我能够使用API​​的v3创建子用户
  • 但我在这里使用v2,因为v3中没有account limits个选项。
  • 我在所有apiv2/customer.*.*个端点上收到此错误,因此我无法关注this guide

3 个答案:

答案 0 :(得分:1)

这似乎仍然是一个问题。 V2端点为子用户管理提供身份验证错误。 SendGrid支持人员告诉我,请使用以下未记录的端点,该端点对我有用:

PUT https://api.sendgrid.com/v3/subusers/{subUserName}/credits

Body 

{
    "reset_frequency": "monthly",
    "total": 10000,
    "type": "recurring"
}

我注意到运行此程序最多需要2-3分钟,之后才会出现延迟,该延迟才会反映在在线UI中。

答案 1 :(得分:0)

在SendGrid v2 API中,所有参数都是表单数据参数,因此您需要确保将它们作为正文传递,而不是作为正文的一部分。但看起来你已经拥有了这个权利。

除此之外,它可能是您帐户特有的内容,因此您需要直接与SendGrid支持联系,并向他们提供您的帐户用户名。

答案 2 :(得分:0)

我也面临同样的问题。我已联系过客户支持。他们说有一个v3端点,没有记录。我在等待他们的答复。我会在收到send

的回复后更新此帖子