首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Etsy API updateListing

Etsy API updateListing
EN

Stack Overflow用户
提问于 2017-09-16 08:30:14
回答 1查看 882关注 0票数 0

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

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

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

“无效的身份验证/错误请求(得到一个400,预期的HTTP/1.1 20X或重定向)预期的参数‘quantity’。数组”

根据文档,该数量不是必需的(实际上updateListing已折旧)。当我使用现有的quantity来填充数组中的‘quantity’时(注释掉了),它会报错它期望的另一个字段。我不确定为什么我会收到关于这些字段的错误,因为它们不是必需的。我不介意使用清单中现有的属性来填充这些字段,但是有一个“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);

尝试{

代码语言:javascript
复制
$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));

} catch (OAuthException $e) {

代码语言:javascript
复制
echo $e->getMessage();
echo $oauth->getLastResponse();
echo $oauth->getLastResponseInfo();

}

EN

回答 1

Stack Overflow用户

发布于 2017-09-16 17:02:14

代码语言:javascript
复制
$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,

                                    )
                                );

请试一下,这可能会对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46248968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档