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

PHP - Content Shopping Api - item not found

我正在使用 Google 的内容购物 API,这个 code 一切正常。

但是当我尝试通过以下方法从 Merchant Center 中删除产品时,产品已成功从列表中删除但仍然返回 "item not found" 错误。

这是代码:

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) 如果产品在 Google Merchant Center 上可用,则请求删除它,否则不删除。

2) 如果产品已经在 Google Merchant Center 上线,则不要尝试再次上传。

Content Shopping API 没有这样的东西来检查产品是否已经存在。他们直接抛出异常。

场景 1 的答案:

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

场景 2 的答案:

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