首先,为可能是一个相当绿色的问题事先道歉!我只是掌握了PHP的诀窍,对API没有太多的支持。
目前,我正在尝试使用Etsy筛选返回的一些列表结果。我想将它们限制在特定的类别或分类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,状态:“活动”,user_id: 22167794,category_id: 69190377,标题:“与美人鱼一起游泳打印,手写,水彩,蓝色紫色”,creation_tsz: 1452898819,ending_tsz: 1463349619,original_creation_tsz: 1452898657,last_modified_tsz: 1452898849,价格:"10.00",currency_code:“美元",数量: 15,标签: ”彩虹“、”独角兽“、”仙女“、”美人鱼“、”紫色“、”蓝色“、”绿色“、”手写“、”抽象“、”书写“、”手“,“水彩”,category_path: "Art","Print","Giclee“,category_path_ids: 68887312,68892154,69190377,url:"campaign=api",taxonomy_id: 121,taxonomy_path: “艺术与收藏品”,“打印”,"Giclee“,}, { listing_id: 234448248,state:"active",user_id: 30961143,category_id: 68887486,标题:”Peach.Unicorn保持冷静,拥抱我婴儿毯阿富汗钩针图案“,creation_tsz: 1452898542,ending_tsz: 1463349342,original_creation_tsz: 1432388408,last_modified_tsz: 1452898542,价格:"1.99",currency_code:“英镑”,数量: 41,标签: “婴儿”,“毯子”,“钩针”,“钩针图案”,“毛毯图案”、“保持冷静”、“泡泡针”、“婴儿毯”、“即时下载”、“宝贝女孩”、“男婴”、“拥抱我”、"dk纱线图案“、category_path: ”花纹“,category_path_ids: 68887486,url:"campaign=api",taxonomy_id: 729,taxonomy_path: “工艺用品与工具”,“模式与教程”,},
发布于 2016-01-20 00:49:39
好吧,我想出来了!如果其他人在寻找未来的答案,我有点混乱的解决方案:
<?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 != '') {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response_body=curl_exec($curl);
curl_close($curl);
$response = json_decode($response_body);
foreach ($response->results as $listing) {
$taxo = $listing->taxonomy_id;
if($taxo == 41 || $taxo == 873){
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>" .
$taxo . '</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;
}
?>在理解为什么在foreach循环之外设置$taxo是不成功的,所以任何洞察力都是值得赞赏的。
https://stackoverflow.com/questions/34821049
复制相似问题