Взять все данные из Zapier Storage - PullRequest
0 голосов
/ 12 декабря 2018

Мне нужно получить все данные из StoreClient (Javascript).Формат данных на картинке ниже, они находятся в Zapier Storage.

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

Этот код хорошо работает.Но мне нужно взять и обработать все хранимые ключи в цикле вместе со всеми их дочерними значениями.Я не нашел способа: (

Я пытался store.list_pop (ключ) , но списки имеют другой формат хранения. И данные не извлекаются.

1 Ответ

0 голосов
/ 14 декабря 2018

Я бы порекомендовал использовать API хранилища Zapier, который позволит вам получать все сохраненные данные с помощью запроса GET до https://store.zapier.com/api/records. Мне часто приходится делать то же самое, и это работает для меня.

Взгляните на их документацию здесь .Я обычно пишу код на Python, используя библиотеку запросов.Но я уверен, что вы могли бы достичь аналогичных результатов, используя запрос ajax или fetch в Javascript.

EDIT

Если я правильно понимаю ваш вопрос, вы пытаетесь 'ПОЛУЧИТЕ все ваши данные, хранящиеся в клиенте хранилища Zapier.Согласно их документации API:

Zapier store API GET documentation

Zapier хранит ваши данные в виде объекта словаря, который может содержать пары ключ-значение.Эти значения также могут быть вложенными словарями или списками.Независимо от того, как вы храните данные (простые пары значений ключей, вложенные списки, вложенные словари или некоторая комбинация предыдущих), запрос 'GET' вернет весь объект.Как указывалось ранее, я обычно использую библиотеку запросов 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, который я не считаю идеальным, но для целей этого примераэто делает работу.Смотрите мой вывод ниже.

enter image description here

Как вы можете видеть, запрос 'GET' вернул все данные, хранящиеся в моей учетной записи хранения Zapier.Я просто вернул данные, полученные из запроса «GET», но вы, конечно, могли бы просмотреть результаты и выполнить логику по мере необходимости.Это не приводит к изменению каких-либо сохраненных данных, я часто извлекаю всю сохраненную дату с помощью запроса «GET», изменяю ее, удаляю старое хранилище и «POST» мою измененную информацию хранилища.Это позволяет мне ограничивать свои запросы двумя вызовами, а не изменять каждое отдельное значение.

...