bluevisiontec / GoogleShoppingApi

Magento Module GoogleShoppingApi v2
Open Software License 3.0
69 stars 45 forks source link

Unknown Field Name Size #36

Closed jen8million closed 9 years ago

jen8million commented 9 years ago

When I attempt to add an item to google shopping, I get the following error: Error calling POST https://www.googleapis.com/content/v2/8231062/products: (400) Unknown field name: size

Here's what's in the exception log: 2015-04-14T04:48:02+00:00 ERR (3): exception 'Google_Service_Exception' with message 'Error calling POST https://www.googleapis.com/content/v2/8231062/products: (400) Unknown field name: size' in /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php:83 Stack trace:

0 /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))

1 /var/www/magento_root/vendor/google/apiclient/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))

2 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))

3 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/ShoppingContent.php(1014): Google_Service_Resource->call('insert', Array, 'GoogleService...')

4 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/GoogleShopping.php(180): Google_Service_ShoppingContent_Products_Resource->insert('8231062', Object(Google_Service_ShoppingContent_Product))

5 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Service/Item.php(47): BlueVisionTec_GoogleShoppingApi_Model_GoogleShopping->insertProduct(Object(Google_Service_ShoppingContent_Product), '1')

6 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Item.php(86): BlueVisionTec_GoogleShoppingApi_Model_Service_Item->insert(Object(BlueVisionTec_GoogleShoppingApi_Model_Item))

7 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/MassOperations.php(79): BlueVisionTec_GoogleShoppingApi_Model_Item->insertItem(Object(Mage_Catalog_Model_Product))

8 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/controllers/Adminhtml/GoogleShoppingApi/ItemsController.php(129): BlueVisionTec_GoogleShoppingApi_Model_MassOperations->addProducts(Array, '1')

9 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Action.php(418): BlueVisionTec_GoogleShoppingApi_Adminhtml_GoogleShoppingApi_ItemsController->massAddAction()

10 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('massAdd')

11 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))

12 /var/www/magento_root/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()

13 /var/www/magento_root/app/Mage.class.php(656): Mage_Core_Model_App->run(Array)

14 /var/www/magento_root/index.php(90): Mage::run('', 'store')

15 {main}

schnere commented 9 years ago

Ah, I see. This will be fixed soon. Thanks for reporting the issue.

schnere commented 9 years ago

Hi, this should be fixed in 0.2.0. Please update and try again

jen8million commented 9 years ago

I updated with composer, flushed the cache and logged back into magento admin.

Unfortunately, I've still been unable to list items. It appears that now, despite double checking that size is mapped in the attribute set, it says that the size attribute is missing.

Here's the exception log entry for an item already up on google merchant center that I tried to sync:

2015-04-17T22:24:29+00:00 ERR (3): exception 'Google_Service_Exception' with message 'Error calling POST https://www.googleapis.com/content/v2/8231062/products: (400) [size] validation/missing_required for Shopping,ShoppingApi,ShoppingExpress: Missing required attribute: size' in /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php:83 Stack trace:

0 /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))

1 /var/www/magento_root/vendor/google/apiclient/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))

2 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))

3 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/ShoppingContent.php(1014): Google_Service_Resource->call('insert', Array, 'GoogleService...')

4 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/GoogleShopping.php(180): Google_Service_ShoppingContent_Products_Resource->insert('8231062', Object(Google_Service_ShoppingContent_Product))

5 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/GoogleShopping.php(191): BlueVisionTec_GoogleShoppingApi_Model_GoogleShopping->insertProduct(Object(Google_Service_ShoppingContent_Product), '1')

6 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Service/Item.php(66): BlueVisionTec_GoogleShoppingApi_Model_GoogleShopping->updateProduct(Object(Google_Service_ShoppingContent_Product), '1')

7 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Item.php(101): BlueVisionTec_GoogleShoppingApi_Model_Service_Item->update(Object(BlueVisionTec_GoogleShoppingApi_Model_Item))

8 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/MassOperations.php(158): BlueVisionTec_GoogleShoppingApi_Model_Item->updateItem()

9 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/controllers/Adminhtml/GoogleShoppingApi/ItemsController.php(206): BlueVisionTec_GoogleShoppingApi_Model_MassOperations->synchronizeItems(Array)

10 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Action.php(418): BlueVisionTec_GoogleShoppingApi_Adminhtml_GoogleShoppingApi_ItemsController->refreshAction()

11 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('refresh')

12 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))

13 /var/www/magento_root/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()

14 /var/www/magento_root/app/Mage.class.php(656): Mage_Core_Model_App->run(Array)

15 /var/www/magento_root/index.php(90): Mage::run('', 'store')

16 {main}

And here's the exception log entry for an item i tried to add:

2015-04-17T08:52:14+00:00 ERR (3): exception 'Google_Service_Exception' with message 'Error calling POST https://www.googleapis.com/content/v2/8231062/products: (400) [size] validation/missing_required for Shopping,ShoppingApi,ShoppingExpress: Missing required attribute: size' in /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php:83 Stack trace:

0 /var/www/magento_root/vendor/google/apiclient/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))

1 /var/www/magento_root/vendor/google/apiclient/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))

2 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))

3 /var/www/magento_root/vendor/google/apiclient/src/Google/Service/ShoppingContent.php(1014): Google_Service_Resource->call('insert', Array, 'GoogleService...')

4 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/GoogleShopping.php(180): Google_Service_ShoppingContent_Products_Resource->insert('8231062', Object(Google_Service_ShoppingContent_Product))

5 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Service/Item.php(34): BlueVisionTec_GoogleShoppingApi_Model_GoogleShopping->insertProduct(Object(Google_Service_ShoppingContent_Product), '1')

6 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/Item.php(86): BlueVisionTec_GoogleShoppingApi_Model_Service_Item->insert(Object(BlueVisionTec_GoogleShoppingApi_Model_Item))

7 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/Model/MassOperations.php(81): BlueVisionTec_GoogleShoppingApi_Model_Item->insertItem(Object(Mage_Catalog_Model_Product))

8 /var/www/magento_root/app/code/community/BlueVisionTec/GoogleShoppingApi/controllers/Adminhtml/GoogleShoppingApi/ItemsController.php(122): BlueVisionTec_GoogleShoppingApi_Model_MassOperations->addProducts(Array, '1')

9 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Action.php(418): BlueVisionTec_GoogleShoppingApi_Adminhtml_GoogleShoppingApi_ItemsController->massAddAction()

10 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('massAdd')

11 /var/www/magento_root/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))

12 /var/www/magento_root/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()

13 /var/www/magento_root/app/Mage.class.php(656): Mage_Core_Model_App->run(Array)

14 /var/www/magento_root/index.php(90): Mage::run('', 'store')

15 {main}

When I log into google merchant center and check the api diagnostics tab, I can see a post for the item i tried to sync:

{ "ageGroup" : "adult", "availability" : "in stock", "brand" : "Banana Republic", "channel" : "online", "color" : "Gray", "condition" : "used", "contentLanguage" : "en", "description" : "Banana Republic Classic Straight Leg JeansWomen's Size - 4MeasurementsWaist: 30.5 inchesRise: 7.75 inchesInseam: 31.25 inchesGreyFeatures: 5 Pocket; Zip Fly72% Cotton 28% Elasterell-PPre-Owned - Great Condition", "expirationDate" : "2015-05-17", "gender" : "female", "googleProductCategory" : "Apparel & Accessories > Clothing > Pants > Jeans", "imageLink" : "https://www.threadtraders.com/media/catalog/product//1/3/131113-wjeans-br-38a.jpg", "link" : "http://www.threadtraders.com/banana-republic-classic-straight-leg-jeans-women-s-4.html?___store=default", "material" : "72% Cotton 28% Elasterell-P", "offerId" : "7922_1", "productType" : "Default Category > women > denim", "sizes" : [ [ ] ], "targetCountry" : "US", "title" : "Banana Republic Classic Straight Leg Jeans Women's 4", "taxes" : [ ], "price" : { "currency" : "USD", "value" : "17.99" }, "shippingWeight" : { "unit" : "kg", "value" : "1.1000" } }

schnere commented 9 years ago

Do you upload a configurable or simple product? Is the size set for the product(s)?

"sizes" : [ [ ] ], -> this should not be empty...

You might debug the value array in BlueVisionTec_GoogleShoppingApi_Model_Attribute_Size

jen8million commented 9 years ago

They are both simple products. The size is set for the products - in fact, one had already been up on Google Shopping (imported with Google Api v1 before it was discontinued.)

When I had tried to upload a configurable product, the page refreshed after a couple seconds but continued to show "Google Shopping synchronization process is running" message as if the page has timed out.

schnere commented 9 years ago

Hi,

please check the attribute mapping again as the latest error message you've posted tells me that the field might not be mapped. After that, check all logs (PHP log, Magento system.log) for messages.

And debug the $value array in BlueVisionTec_GoogleShoppingApi_Model_Attribute_Size .

I can also offer support to solve the problem. In this case I would ask you to write me an email.