api - 使用 Quip API,如何获取所有线程的列表?
问题描述
我需要使用 Quip API 获取公司中所有公开可见的 Quip 文档的列表。我有一个服务工作者帐户,可以进行 API 调用。
我的问题:如何找到要从其开始的根文件夹?
Quip 的 API 文档告诉您如何使用Get Folders通过传入文件夹 ID 来获取有关一个或多个文件夹的信息。对于嵌套文件夹,您可以再次调用它,并且可以调用Get Threads来获取有关每个文档的信息。(Quip 使用术语“线程”而不是“文档”。)
但是我从哪里开始呢?我需要一个根文件夹来开始递归,对吧。
这是我尝试过的:
Get Folders 文档说“要查找您的桌面或存档文件夹 ID,请参阅Get Authenticated User。” 我已经尝试过了,但它会返回名为 Desktop、Archive、Starred、Private、Shared 和 Group 的文件夹。
Desktop
似乎是一个不错的起点,但它唯一的孩子是存档,而且...Archive
只包含几十个文档。存档文件夹的含义没有记录。Starred
是您收藏的文档。Private
是您的私人文档。Shared
是已与您共享的文档。Group
似乎很有希望,因为 quip.com/browse 上的文件夹 UI 在顶部显示“组文件夹”一词。但是我帐户的组文件夹列表是空的。
解决方案
这有点晚了,但由于 QUIP API 维护不善且没有很好的文档记录,对于那些希望解决相同问题的人来说,这是一种方法:
第一步:将贵公司的根文件夹添加到您的收藏夹(已加星标的文件夹),并将其拖到收藏夹列表的顶部。
第 2 步:获取经过身份验证的实例:
quip_client = quip.QuipClient(access_token=login_token)
user = quip_client.get_authenticated_user()
print (user)
您将检索包含基本信息的 json 结果,例如名称、ID ......以及最重要starred_folder_id
的用户信息。
第 3 步:将 传递starred_folder_id
给get_folder
方法:
print (quip_client.get_folder("starred_folder_id"))
您将收到另一个带有名为 as 的键的 json,children
其中包含您已加星标的文件夹/文件的值,按照它在您的quip
应用程序中出现的顺序排列。第一个folder_id
将是您的公司文件夹 ID。
您现在可以使用folder_id
more 来检索公司的其余文档get_folder
。
推荐阅读
- regex - 正则表达式匹配多个条目
- java - 如何仅反转字符串中的数字
- firebase - 为什么当我的 TextFormField 获得焦点时我的页面会重新加载?
- mqtt - Twincat 3 中与 Microsoft Azure 云的 MQTT 连接
- flutter - 如何在 Flutter 中将音频与 lottie / rive 动画同步?
- php - laravel 队列中的 ShouldBeUnique 是什么
- pine-script - 当有 2 支蜡烛但少于 4 支时如何突出显示?
- html - ngxPrint 在内部组件的角度使用时无效
- python - 如何通过按单元格删除重复项将数字数据框的 ColA 转换为按每个单元格值排序?
- java - Java比较器问题(比较两次)