#php #r #shopify #httr #shopify-app
#php #r #Shopify #httr #Shopify-приложение
Вопрос:
Привет, я пытаюсь получить все заказы из магазина Shopify через shopify API, я использую R-скрипт, и пока я могу получить только 250 записей, что является пределом на страницу, если я не использую ключевое слово limit в php, по умолчанию оно равно 50.
Вот что у меня есть на данный момент
library(dplyr)
library(httr)
library(rlist)
library(jsonlite)
apikey <- "xxxxxxxxxx1d2fd1fb8710"
pass <- "xxxxxxxxxxxx3e4d38d476fdb188ac7"
orders <- GET(
url = "https://xxxxx-xxxxx.myshopify.com/admin/orders.json?query=amp;limit=250amp;status=any",
authenticate(user = apikey, password = pass)
)
Если я хочу сделать то же самое с помощью PHP, я использую вызов https и получаю те же 250 результатов
https://1x877xxxxbd3ed99ae30d1eb4d71cxxx:dcfee3235061bd149ebxxxxxxxxxxxxx@store.myshopify.com/admin/orders.json?query=amp;limit=250amp;status=any
Есть ли способ, которым я могу получить ВСЕ заказы за один вызов?
Или, если нет, есть ли способ получить разные страницы, например, страницу 1,2,3,4,5 и т. Д., А позже я могу объединить эти фреймы данных в 1.
Комментарии:
1. как указано в документах api, максимальное значение равно 250
Ответ №1:
Используйте подкачку. Четко описано в документации.
Ответ №2:
Как уже говорили другие, вы должны использовать разбивку на страницы. Недавно я создал пакет R под названием shopr, который делает это довольно простым.
library(shopr)
orders <- shopr_get_orders(
shopURL = "https://xxxxx-xxxxx.myshopify.com",
APIKey = apikey,
APIPassword = pass,
APIVersion = "2019-04",
max_pages = Inf, # this is the default
limit_per_page = 250L, # this is the default
since_id = 0L # this is the default
)
shopr будет выполнять последовательные вызовы API, извлекая фрагменты из 250 заказов, а затем объединять их вместе для вас.