从 Zapier Storage 获取所有数据

Take all data from Zapier Storage

我需要从 StoreClient (Javascript) 获取所有数据。下图数据格式,在Zapier Storage中。

const store = StoreClient('mysecret');
const value = await store.getMany('mykey'); // or store.get('mykey') 
return {result: value}

此代码运行良好。但是我需要在一个循环中获取并处理所有存储的键以及它们的所有子值。我没有找到办法:(

我试过 store.list_pop(key),但是列表有不同的存储格式。并且没有检索到数据。

我建议使用 Zapier 的存储 API,这将允许您通过对 https://store.zapier.com/api/records 的 GET 请求检索所有存储的数据。我经常不得不做同样的事情,这对我有用。

查看他们的文档 here。我通常使用请求库在 Python 中编码。但我相信您可以使用 ajax 或 Javascript 中的获取请求获得类似的结果。

编辑

如果我对你的问题的理解正确,你正试图 'GET' 将所有数据存储在 Zapier 的存储客户端中。根据他们的 API 文档:

Zapier 将您的数据存储为可以保存键值对的字典对象。这些值也可以是嵌套的字典或列表。无论您如何存储数据(简单的键值对、嵌套列表、嵌套字典或上述的某种组合),'GET' 请求都将 return 整个对象。如前所述,我通常使用 Python 的请求库来处理 HTTP 请求,但我能够使用 Javascript 提取请求获得相同的结果。我在 https://store.zapier.com/api/records?secret=dog 设置了一个虚拟存储帐户来测试和说明它是如何工作的。请参阅下面的代码。

var url = "https://store.zapier.com/api/records?secret=dog";
const res = await fetch(url);
const body = await res.json()
return {JSON : body}

不幸的是,由于我对 Javascript 不熟悉,我不得不将秘密放入 url,我认为这并不理想,但出于本示例的目的,它完成工作。请参阅下面的输出。

如您所见,'GET' 请求 returned 存储在我的 Zapier 存储帐户中的所有数据。我只是 return 编辑了从 'GET' 请求中检索到的数据,但您当然可以遍历结果并根据需要执行逻辑。这不会修改任何存储的数据,我经常做的是通过 'GET' 请求拉入我所有存储的日期,修改它,删除旧存储,以及 'POST' 我修改的存储信息。这使我可以将我的请求限制为两次调用,而不是修改每个单独的值。