0

Etsy の API で遊んでみると、ドキュメンテーションにはlistings、私が使用できるものは何もリストされていません。これにより、誰かが次のようなリクエストをコーディングできるようになります。

$apistateloc = 'florida'; 
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '&region=' . $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;

そして上記の作品。Regionの API リファレンスでこれが許可されると思いました。

$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 リクエストを作成しようとしています。

4

1 に答える 1

2

地域:

商品が発送される国のコレクションを表します。

だからこれで:

$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ます。

代わりに使用したいのRegionlocationparameterです。したがって、最初のリクエスト文字列は完全に機能します。次のように、地域を場所に置き換えるだけです。

$apistateloc = 'florida'; 
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '&location=' . $apistateloc;
于 2016-03-22T23:19:42.353 に答える