まず、かなり環境に配慮した質問かもしれないことを前もってお詫びします。私は 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;
}
?>
ここで for と while の両方を試しました:
<?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";
}
?>
ここで明らかな何かが欠けているように感じますが、私は非常に立ち往生しています。私が間違っていることについてのガイダンスはありますか?
上記のコードに含まれる呼び出しを使用して、リスティングに対して返されるサンプル応答:
結果:
[ { list_id: 264154010, state: "active", user_id: 22167794, category_id: 69190377, title: "Swim with Mermaid print, hand lettering, watercol, green blue purple", creation_tsz: 1452898819, end_tsz: 1463349619, original_creation_tsz: 145289865 last_modified_tsz: 1452898849、価格: "10.00"、 currency_code: "USD"、数量: 15、タグ: [ "虹"、"ユニコーン"、"妖精"、"人魚"、"紫"、"青"、"緑" 、「手文字」「抽象」「文字」「手」「水彩」], category_path: [ "Art", "Print", "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: "Keep Calm Peach.Unicorn の Hug Me Baby ブランケット アフガン クロシェ パターン赤ちゃん」、「毛布」、「かぎ針編み」、「かぎ針編みの模様」、「毛布の模様」、「Keep Calm", "Puff Stitch", "Baby Blanket", "Instant download", "baby girl", "baby boy", "hug me", "dk yarn pattern" ], category_path: [ "Patterns" ], category_path_ids : [ 68887486 ]、URL: "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: [ "クラフト用品 &ツール", "パターンとチュートリアル" ], },