2017-03-15 52 views
1

我正在使用Google的內容購物API,這一切都很順利,此codePHP - 內容購物Api - 找不到項目

但是,當我試圖通過以下方法從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" 
} 
} 
+0

我搜索了很多,甚至沒有什麼比Google文檔中的常見錯誤。 – kishor10d

回答

1

嗯,我想處理我的項目中的兩個場景。

1)如果產品在Google Merchant Center上運行,則請求刪除它,否則請求刪除。

2)如果該產品已在Google Merchant Center中,則不要嘗試再次上傳。

內容購物API沒有這樣的東西來檢查產品已經存在與否。他們直接拋出異常。

答案方案1:

其實我使用Yii2開發框架,使用Pjax在GridView控件。當我點擊一個按鈕時,它首先調用Pjax,然後重定向到URL。因此它試圖再次刪除相同的產品。因此例外。

答案方案2:

您可以再次上傳到谷歌商家中心的相同產品。如果產品已經存在,那麼它將更新該productId(itemId或offerId)的所有值。我不認爲它對我有好處。因此,我將上傳的產品的狀態保存在我的數據庫中。如果有同樣的產品出現,我只是設置'已上傳'的標誌,而不是真正上傳產品。

相關問題