假设用户未在 smartsheet api 中工作

问题描述 投票:0回答:2

您好,我正在为我的新应用程序测试 SmartSheet Api。我试图使用假设用户功能。我有一个系统管理员帐户,如 [电子邮件受保护] 和一个非管理员帐户 [电子邮件受保护]。我收到错误代码 1030

注意:我目前有试用计划。

我正在传递以下标题

{'Authorization': 'Bearer {admin's token}',
 'Content-Type': 'application/json',
 'Assume-User': 'user%40xxxx.com'}

我使用管理员帐户使用 OAUTH 生成了此令牌,并且我请求了以下范围

ACCESS_REQUEST = [
    "ADMIN_SHEETS",
    "ADMIN_SIGHTS",
    "ADMIN_USERS",
    "READ_USERS",
    "ADMIN_WEBHOOKS",
    "READ_SHEETS",
    "READ_SIGHTS",
    "ADMIN_WORKSPACES",
    "READ_CONTACTS"
]

我正在尝试达到

users/me
端点。我收到以下错误。

{'errorCode': 1030,
 'message': 'You are unable to assume the user specified.',
 'refId': 'h4tq8b'}
smartsheet-api smartsheet-api-2.0
2个回答
0
投票

我怀疑您看到的错误是由于您使用 OAuth 为管理员用户帐户生成 API 访问令牌而引起的。如果我指定通过 OAuth 生成的令牌,我可以重现该错误,但如果我指定通过 Smartsheet Web 应用程序 (UI) 手动生成的令牌,则获取当前用户调用会成功。

我建议您以管理员用户身份登录 Smartsheet Web 应用程序 (UI),并手动生成 API 访问令牌,如下所述:原始令牌请求。然后在请求的

Authorization
标头中指定访问令牌,并且 获取当前用户 调用应返回成功的响应。

最后,还值得注意的是,您在这种情况下尝试模拟的非管理员用户帐户必须是与拥有

Authorization
标头中指定的令牌的管理员用户帐户相同的 Smartsheet 帐户的成员。


0
投票

@Aryan Singh,您是如何使用商业计划使其发挥作用的?我也有类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.