You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP jlevers/selling-partner-api通过EAN获取ASIN遇参数错误

问题:通过EAN码获取ASIN时出现类型错误

我正在使用PHP和jlevers/selling-partner-api构建小型Web应用,需要通过EAN码获取ASIN。尝试了以下代码:

$catalogApi = $connector->catalogItems();

try {
    // EAN code of a product
    $ean = '3578830113254';

    $marketplaceId = 'APJ6JRA9NG5V4';
    $includedData = ["summaries", "images", "salesRanks", "productTypes", "identifiers", "variations"];

    //search EAN
    $response = $catalogApi->searchCatalogItems([
        'marketplaceIds' => [$marketplaceId],  
        'identifiersType' => 'EAN',            
        'identifiers' => [$ean],                
        'includedData' => $includedData        
    ]);

    // Visualizza la risposta
    echo "<pre>";
    print_r($response);
    echo "</pre>";

} catch (\Exception $e) {
    // Gestisci gli errori
    echo "Errore: ";
    var_dump($e->getMessage());
}

运行时出现如下错误:

SellingPartnerApi\Seller\CatalogItemsV20220401\Api::getCatalogItem():

Argument #1 ($asin) must be of type string, array given


解决方法

错误原因是你用关联数组传递参数的方式不符合该SDK的searchCatalogItems方法规范,导致底层误调用了需要字符串ASIN参数的getCatalogItem方法。

修改代码,将参数按方法定义的顺序逐个传入,而非打包成关联数组:

$catalogApi = $connector->catalogItems();

try {
    // EAN code of a product
    $ean = '3578830113254';

    $marketplaceId = 'APJ6JRA9NG5V4';
    $includedData = ["summaries", "images", "salesRanks", "productTypes", "identifiers", "variations"];

    // 按方法参数顺序传入,不需要的可选参数传null
    $response = $catalogApi->searchCatalogItems(
        [$marketplaceId],
        'EAN',
        [$ean],
        null,
        null,
        $includedData
    );

    // 打印响应
    echo "<pre>";
    print_r($response);
    echo "</pre>";

} catch (\Exception $e) {
    // 错误处理
    echo "Errore: ";
    var_dump($e->getMessage());
}

如果上述修改后仍有问题,可检查SDK版本是否为最新,或确认searchCatalogItems的方法签名是否与参数传递匹配。


内容的提问来源于stack exchange,提问作者MarcoZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:43:18