我使用GET / sheet调用列出了所有用户的Smartsheets,但我遇到了问题。响应对象包含大多数用户的工作表,但不包含用户的accessLevel为OWNER的任何工作表。
以下是我正在制作的电话:
GET https://api.smartsheet.com/2.0/sheets/
带标题
Key: Authorization
Value: Bearer <access token here>
我是否缺少设置或API参数?
我查看了Smartsheet API文档和常见问题解答以获取答案,但如果已经在某处找到答案,我就无法找到任何相关内容。
答案 0 :(得分:1)
如API docs所述,列表表格操作应返回用户(访问令牌所有者)有权访问的所有工作表 - 包括用户拥有的所有工作表(accessLevel = OWNER
)或已经granted access to。我从来没有见过不以这种方式工作。一些想法/故障排除建议:
Bearer
令牌所属的用户是否可能实际上并不拥有任何工作表(即他们可以访问工作表,因为他们已经&#34;共享&# 34;对于工作表,但实际上并不是工作表的所有者)?
如果您有权访问属于在Smartsheet中拥有管理员权限的用户的API访问令牌(在与您尝试识别的用户相同的组织内,并且#34;拥有&#34) ;工作表),您可以执行List Org Sheets请求并检查其响应(其中将包含管理员所属组织成员拥有的所有工作表),用于所有者或 ownerId 对应于您尝试识别&#34;拥有&#34;的用户。床单。 &#34;所拥有的床单数量#34; 获取组织表格响应中的userX(使用管理员令牌)应与获取表格响应中accessLevel = OWNER
的工作表数相匹配(使用UserX&#39;令牌)。
更新(重新分页):
另请注意, Get Sheets 操作是support paging of results的几个Smartsheet API操作之一。如果您没有看到您希望在API响应中看到的工作表,则可能会对结果进行分页,而且您正在寻找的对象不会包含在结果的初始页面(默认页面大小= 100)。要查看是否是这种情况,您可以尝试在API请求URL上包含includeAll=true
querystring参数(告诉Smartsheet不要对结果进行分页 - 即,所有结果都应包含在响应中)。