首先,提前为这可能是一个非常绿色的问题道歉!我只是掌握了 PHP 的窍门,而且对 API 的支持并不多……
我目前正在尝试过滤我使用 Etsy API 返回的一些列表结果。我想将它们限制为仅特定类别或分类 ID,但我使用的 PHP 条件似乎都没有返回任何结果。到目前为止我尝试过的一些事情:
<?php
define("API_KEY", XXX);
$url = "https://openapi.etsy.com/v2/listings/active?tags=unicorn,unicorns&keywords=unicorn,unicorns&includes=Images:1:0&api_key=" . API_KEY;
while (isset($url) && $url != '' && $next_page < 3) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response_body=curl_exec($curl);
curl_close($curl);
$response = json_decode($response_body);
$taxo = $response->results->taxonomy_id;
if($taxo == 66) {
foreach ($response->results as $listing) {
echo "<li>"
. '<a href="' . $listing->url . '" target="_blank"><img src="' . $listing->Images[0]->url_170x135 . '" alt=""></a>'
. "<p>" . $listing->title . "</p>"
. "<p>~*~" . $listing->price . " " . $listing->currency_code . "~*~</p>" .
$listing->taxonomy_id .
"</li>";
}
} else {
echo "NO RESULTS";
}
$next_page = $response->pagination->next_page;
$baseUrl = "https://openapi.etsy.com/v2/listings/active?tags=unicorn,unicorns&keywords=unicorn,unicorns&includes=Images:1:0&api_key=" . API_KEY . "&page=";
$url = $baseUrl . $next_page;
}
?>
我已经在这里尝试过:
<?php
define("API_KEY", XXX);
$url = "https://openapi.etsy.com/v2/listings/active?tags=unicorn,unicorns&keywords=unicorn,unicorns&includes=Images:1:0&api_key=" . API_KEY;
if(isset($url) && $url != '' && $next_page < 3 && $taxo == 66) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response_body=curl_exec($curl);
curl_close($curl);
$response = json_decode($response_body);
$taxo = $response->results->taxonomy_id;
foreach ($response->results as $listing) {
echo "<li>"
. '<a href="' . $listing->url . '" target="_blank"><img src="' . $listing->Images[0]->url_170x135 . '" alt=""></a>'
. "<p>" . $listing->title . "</p>"
. "<p>~*~" . $listing->price . " " . $listing->currency_code . "~*~</p>" .
$listing->taxonomy_id .
"</li>";
}
$next_page = $response->pagination->next_page;
$baseUrl = "https://openapi.etsy.com/v2/listings/active?tags=unicorn,unicorns&keywords=unicorn,unicorns&includes=Images:1:0&api_key=" . API_KEY . "&page=";
$url = $baseUrl . $next_page;
var_dump($url);
}
else {
echo "NO RESULTS";
}
?>
我觉得我在这里遗漏了一些明显的东西,但我被卡住了。关于我做错了什么的任何指导?
使用上述代码中包含的调用为列表返回的示例响应:
结果:
[ { Listing_id: 264154010, state: "active", user_id: 22167794, category_id: 69190377, title: "Swim with Mermaids print, hand lettering, watercolor, green blue Purple", creation_tsz: 1452898819, ending_tsz: 1463349619, original_creation_tsz: 145289867 last_modified_tsz:1452898849,价格:“10.00”,货币代码:“USD”,数量:15,标签:[“彩虹”,“独角兽”,“仙女”,“美人鱼”,“紫色”,“蓝色”,“绿色” , “手刻字”, “抽象”, “刻字”, “手”, “水彩”],category_path:[“艺术”,“打印”,“Giclee”],category_path_ids:[68887312、68892154、69190377],url:“https://www.etsy.com/listing/264154010/swim-with-mermaids-print-hand-lettering?utm_source=funappyay&utm_medium=api&utm_campaign=api", taxonomy_id: 121, taxonomy_path: ["Art & Collectibles", "Prints", "Giclee" ], }, { Listing_id: 234448248, state: "active", user_id: 30961143, category_id: 68887486, title: "保持冷静和拥抱我的婴儿毯阿富汗钩针图案 Peach.Unicorn”,creation_tsz:1452898542,ending_tsz:1463349342,original_creation_tsz:1432388408,last_modified_tsz:1452898542,价格:“1.99”,currency_code:“GBP”,数量:41,标签:[“婴儿”,“毯子”,“钩针”,“钩针图案”,“毯子图案”,“Keep Calm”, “Puff Stitch”, “Baby Blanket”, “Instant download”, “baby girl”, “baby boy”, “hug me”, “dk yarn pattern” ], category_path: [ "Patterns" ], category_path_ids :[68887486],网址:“https://www.etsy.com/listing/234448248/keep-calm-and-hug-me-baby-blanket-afghan?utm_source=funappyay&utm_medium=api&utm_campaign=api ”,taxonomy_id:729,taxonomy_path:[“工艺用品和工具”、“模式和教程”]、}、