【问题标题】:Etsy API updateListingEtsy API 更新列表
【发布时间】:2018-02-25 04:49:05
【问题描述】:

我正在尝试使用 updateListing 方法来修改列表描述...

https://www.etsy.com/developers/documentation/reference/listing#method_updatelisting

我成功完成了 OAuth 身份验证过程,并且能够按照文档中的示例通过 API 发出授权请求。我在使用 updateListing 方法时遇到问题。我正在尝试修改描述,但出现以下错误...

“无效的身份验证/错误请求(收到 400,预期 HTTP/1.1 20X 或重定向)预期参数 'quantity'.Array”

根据文档,数量不是必需的(实际上已为 updateListing 折旧)。当我使用现有数量填充数组中的“数量”(已注释掉)时,它会抱怨它期望的另一个字段。我不确定为什么我会收到关于这些字段的错误,因为它们不是必需的。我不介意使用列表中可用的现有属性来填充这些字段,但有一个“shipping_template_id”字段我目前没有可用。我不能将它设置为 null,因为它需要一个数值。当我将其设置为 0 时,它表示它不是有效的运输模板 ID。我一定做错了什么。

这是我的代码(我替换了我的实际令牌和令牌秘密)……

$access_token = "我的令牌"; $access_token_secret = "我的秘密";

$oauth = 新 OAuth(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);

$oauth->setToken($access_token, $access_token_secret);

试试{

$url = "https://openapi.etsy.com/v2/private/listings";

$params = array('listing_id' => $result->listing_id,
                                 //'quantity' => $result->quantity,
                                //'title' => $result->title,
                                'description' => $new_description);

$oauth->fetch($url, $params, OAUTH_HTTP_METHOD_POST);
$json = $oauth->getLastResponse();
print_r(json_decode($json, true));

} 捕捉 (OAuthException $e) {

echo $e->getMessage();
echo $oauth->getLastResponse();
echo $oauth->getLastResponseInfo();

}

【问题讨论】:

    标签: php api oauth etsy


    【解决方案1】:
    $args = array(
                                        'data' => array(
                                            "quantity" => $quantity,
                                            "title" => $title,
                                            "description" => strip_tags($description),
                                            "price" => $price,
                                            "materials" => $materials,
                                            "shipping_template_id" =>(int)$shippingTemplateId,
    
                                            "non_taxable" => false,
                                            "state" => "$ced_etsy_upload_product_type",
                                            "processing_min" => 1,
                                            "processing_max" => 3,
    
                                            "taxonomy_id" => (int)$categoryId,
                                            "who_made" => $who_made,
                                            "is_supply" => true,
                                            "when_made" => $when_made,
    
                                        )
                                    );
    

    请试试这个可能对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      相关资源
      最近更新 更多