gpt4 book ai didi

python - 如何使用 Smartsheets API Python 检索文件夹树

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:21 28 4
gpt4 key购买 nike

我正在尝试从 Python SDK API 中使用 Users.list_org_sheets(include_all=True) 检索工作表。

有了它,我可以看到我需要的所有东西:

lstorg = ss.Users.list_org_sheets(include_all=True)
for entry in lstorg.data:
print(entry.id)
print(entry.name)

ss 是 smartsheet.Smartsheet(token)。这样我就可以看到我的域中的所有工作表,但是当我尝试使用 get_sheet_as_excel(id, path) 下载它们时,我收到了错误:

print(ss.Sheets.get_sheet('6157394402142084'))
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
print(ss.Sheets.get_sheet('6157394402142084')
File "E:\Python\lib\site-packages\smartsheet\sheets.py", line 525, in get_sheet
response = self._base.request(prepped_request, expected, _op)
File "E:\Python\lib\site-packages\smartsheet\smartsheet.py", line 218, in request
raise the_ex(native, str(native.result.code) + ': ' + native.result.message)
smartsheet.exceptions.ApiError: {"requestResponse": null, "result": {"code": 1006, "message": "Not Found", "name": "ApiError", "recommendation": "Do not retry without fixing the problem. ", "refId": null, "shouldRetry": false, "statusCode": 404}}

我猜这个错误意味着他没有找到该文件(错误 404),但我不知道为什么,就在我发出命令获取所有工作表的列表之前,然后当我选择其中之一时(我不是此 token 的所有者,但 token 是 SysAdmin)

感谢您的帮助

最佳答案

您所描述的情况是由于 Smartsheet 中权限的工作方式造成的。使用系统管理员 token ,您可以成功获取帐户成员拥有的所有工作表的列表,但系统管理员 token 不允许您访问< em>这些工作表的内容,除非系统管理员用户已被明确授予对工作表的访问权限。当您尝试检索该工作表时,您会收到“未找到”错误,因为系统管理员用户尚未明确被授予访问 Smartsheet 中该工作表的权限。

要实际检索“列出组织工作表”响应中列出的工作表,您需要将 Assume-User header 添加到“获取工作表”API 请求中以模拟工作表所有者。您可以在此处找到有关 Assume-User header 的文档:https://smartsheet-platform.github.io/api-docs/#http-headers

关于python - 如何使用 Smartsheets API Python 检索文件夹树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46430392/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com