Играя с Etsy API, документация ничего не перечисляет под listings
что я смог использовать, что позволило бы кому-то кодировать запрос, как:
$apistateloc = 'florida';
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '®ion=' . $apistateloc;
API упоминает Associations
но даже если посмотреть на ассоциации, то после тестирования регион может быть извлечен из userProfile
:
$userprofile = json_decode(file_get_contents('https://openapi.etsy.com/v2/users/' . $product->user_id . '/profile?api_key=' . $apikey));
$products[$i]["region"] = $userprofile->results[0]->region;
и выше работает. Я думал, что API Reference для Region
позволил бы это:
$theRegion = json_decode(file_get_contents('https://openapi.etsy.com/v2/private/regions?api_key=' . $apikey));
$products[$i]["region_state"] = $theRegion->results[0]->region_name;
но каждый раз, когда я запускаю его, я получаю результат:
"region_state":"European Union"
Есть ли способ в Etsy API для таргетинга всех активных списков (https://openapi.etsy.com/v2/listings/active
) с таким регионом, как florida
? Я пытаюсь сделать запрос JSON, который будет основан на штате, стране или городе.
Представляет коллекцию стран, в которые отправляется товар.
Итак, с этим:
$theRegion = json_decode(file_get_contents('https://openapi.etsy.com/v2/private/regions?api_key=' . $apikey));
$products[$i]["region_state"] = $theRegion->results[0]->region_name;
Все, что вы делаете, это возвращаете список возможных регионов. Возвращаемое тело на самом деле это:
{
"region_id": 11,
"region_name": "European Union",
"is_dead": false
},
{
"region_id": 12,
"region_name": "Europe non-EU",
"is_dead": false
},
{
"region_id": 13,
"region_name": "South America",
"is_dead": true
},
{
"region_id": 14,
"region_name": "Africa",
"is_dead": true
},
{
"region_id": 15,
"region_name": "Central America",
"is_dead": true
}
Так results[0]
возвращает первый элемент, следовательно, всегда получает European Union
,
Что вы хотите использовать вместо Region
это location
параметр. Итак, ваша первая строка запроса будет работать отлично — просто замените регион на местоположение, например так:
$apistateloc = 'florida';
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '&location=' . $apistateloc;
Других решений пока нет …