如何用PHP+cURL通过关键词查询我的eBay店铺商品数据?
使用PHP和cURL调用eBay FindingAPI查询自有商品数据
完全可以用PHP结合cURL实现这个需求,以下是可直接复用的代码示例,替换其中的占位符即可:
<?php // 配置API参数 $appName = 'YOUR_EBAY_APP_NAME'; // 替换成你的eBay APPNAME $sellerId = 'YOUR_SELLER_USER_ID'; // 替换成你的卖家ID $keywords = 'CHEESE'; // 要查询的关键词 // 构建API请求URL $apiUrl = 'https://svcs.ebay.com/services/search/FindingService/v1'; $params = [ 'OPERATION-NAME' => 'findItemsByKeywords', 'SECURITY-APPNAME' => $appName, 'keywords' => urlencode($keywords), 'itemFilter(0).name' => 'Seller', 'itemFilter(0).value' => $sellerId, 'RESPONSE-DATA-FORMAT' => 'XML', // 指定返回XML格式 'outputSelector' => 'SellerInfo,ItemAttributes' // 按需添加需要返回的字段 ]; // 拼接完整请求URL $fullUrl = $apiUrl . '?' . http_build_query($params); // 初始化cURL $ch = curl_init($fullUrl); // 设置cURL选项 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 生产环境建议开启SSL验证 curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/x-www-form-urlencoded' ]); // 执行请求并获取响应 $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 关闭cURL资源 curl_close($ch); // 处理响应 if ($httpCode === 200) { // 解析XML数据 $xml = simplexml_load_string($response); if ($xml) { // 遍历商品数据 foreach ($xml->searchResult->item as $item) { $itemId = (string)$item->itemId; $title = (string)$item->title; $price = (string)$item->sellingStatus->currentPrice; $currency = (string)$item->sellingStatus->currentPrice['currencyId']; echo "商品ID: {$itemId}<br>"; echo "标题: {$title}<br>"; echo "售价: {$price} {$currency}<br><br>"; } } else { echo 'XML解析失败'; } } else { echo "请求失败,HTTP状态码: {$httpCode}"; echo "<br>错误响应: {$response}"; } ?>
关键说明
- 必须替换
YOUR_EBAY_APP_NAME和YOUR_SELLER_USER_ID为你自己的eBay开发者账号信息,没有的话需要先去eBay开发者平台申请。 outputSelector参数可以根据需求添加更多返回字段,比如PictureURLLarge获取大图链接,具体参考eBay官方API文档的字段说明。- 生产环境建议开启
CURLOPT_SSL_VERIFYPEER为true,并配置正确的CA证书路径,避免SSL安全风险。 - 如果请求仍然失败,检查你的APP权限是否正常,或者是否需要使用OAuth认证(部分eBay API版本要求)。
内容的提问来源于stack exchange,提问作者CheeseFlavored
相关产品推荐
相关产品推荐

