PHP - Content Shopping Api - элемент не найден
Я использую Google Content Shopping 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"
}
}
1 ответ
Ну, я хочу обработать два сценария в моем проекте.
1) Если продукт работает в Google Merchant Center, запросите его удаление, в противном случае - нет.
2) Если продукт уже есть в Google Merchant Center, не пытайтесь загрузить его снова.
Контент-шоппинг API, у которого нет такой вещи, чтобы проверить товар, уже присутствует или нет Они прямо бросают Исключение.
Ответ для сценария 1:
На самом деле я использую Yii2 Framework, который использует Pjax в GridView. Когда я нажимаю кнопку, она сначала вызывает Pjax, а затем перенаправляет на URL. Следовательно, он пытается удалить тот же продукт снова. И, следовательно, исключение.
Ответ для сценария 2:
Вы можете снова загрузить этот же продукт в Google Merchant Center. Если продукт уже существует, он обновит все значения для этого productId (itemId или offerId). Я не думаю, что это хорошо для меня. Поэтому я сохраняю статус загруженных продуктов в своей базе данных. И если появился тот же продукт, я просто устанавливаю флаг "загружен" и не загружаю продукт.