PHP - 内容购物Api - 找不到商品

时间:2017-03-15 06:48:53

标签: php google-adwords google-shopping-api

我正在使用Google的内容购物API,这一切都很顺利code

但是当我尝试通过以下方法从Merchant Center删除产品时,产品已从列表中成功删除,但仍然返回“找不到项目”错误。

这是代码:

public function deleteProduct($offerId) {
    $productId = $this->buildProductId($offerId);
    // The response for a successful delete is empty
    $this->service->products->delete($this->merchantId, $productId);
}

这是它返回的错误。

Google_Service_Exception
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "item not found"
}
],
"code": 404,
"message": "item not found"
}
}

1 个答案:

答案 0 :(得分:0)

好吧,我想在我的项目中处理两个场景。

1)如果产品在Google Merchant Center上有效,则请求删除它,否则请求删除。

2)如果该产品已在Google Merchant Center上发布,请勿尝试重新上传。

没有检查产品的内容购物API已经存在或没有。他们直接抛出异常。

回答方案1:

实际上我使用的是在GridView中使用Pjax的Yii2框架。当我点击一个按钮时,它首先调用Pjax,然后重定向到URL。因此,它试图再次删除相同的产品。因此也是例外。

回答方案2:

您可以将同一产品再次上传到Google Merchant Center。如果产品已经存在,那么它将更新该productId(itemId或offerId)的所有值。我不认为它对我有好处。因此,我将上传产品的状态保留在我的数据库中。如果同一产品出现,我只是设置'已上传'的标志,而不是真正上传产品。