使用 google-api-php-client 为产品创建多个自定义属性
Creating Multiple Custom Attibutes For Product with google-api-php-client
根据那个回答 https://support.google.com/merchants/answer/4588281?hl=en-GB
如果我想为带有 API 的产品设置多个促销 ID,我可以指定多行:
<sc:attribute name="promotion_id">PROMOTION_ID</sc:attribute>
我正在使用这个库https://github.com/google/google-api-php-client
我的问题是我该如何使用这个库。我应该使用自定义属性吗?例如。
$feed_entry = new Google_Service_Content_Product();
$promotions_ids = array (20,21,22);
foreach ($promotions_ids as $promotion_id ) {
$promotion = new Google_Service_Content_ProductCustomAttribute();
$promotion->setName('promotion_id');
$promotion->setValue($promotion_id);
$feed_entry->setCustomAttributes($promotion);
}
但这只会为不同的 ID 重新设置此属性。我什至不确定我是否以正确的方式这样做。可能遗漏了什么。完整的代码示例真的很有帮助。
我找不到 PHP 的最终代码示例。也就是说,如果您查看 API 其他语言的库,您会发现:
对于 Java 它使用 List<ProductCustomAttribute>
:
public Product setCustomAttributes(java.util.List<ProductCustomAttribute> customAttributes)
对于 JavaScript 它使用 map
:
setCustomAttributes(map)
setCustomAttributes({ 'size': 'Large', 'color': 'Green' })
结论:
有问题的 PHP 方法很有可能使用 array
个 Google_Service_Content_ProductCustomAttribute
个对象:
public function setCustomAttributes($customAttributes)
$feed_entry = new Google_Service_Content_Product();
$promotions_ids = array (20,21,22);
$customAttributes = array();
foreach ($promotions_ids as $promotion_id ) {
$promotion = new Google_Service_Content_ProductCustomAttribute();
$promotion->setName('promotion_id');
$promotion->setValue($promotion_id);
$customAttributes[] = $promotion;
}
$feed_entry->setCustomAttributes($customAttributes);
试试吧!
根据那个回答 https://support.google.com/merchants/answer/4588281?hl=en-GB
如果我想为带有 API 的产品设置多个促销 ID,我可以指定多行:
<sc:attribute name="promotion_id">PROMOTION_ID</sc:attribute>
我正在使用这个库https://github.com/google/google-api-php-client
我的问题是我该如何使用这个库。我应该使用自定义属性吗?例如。
$feed_entry = new Google_Service_Content_Product();
$promotions_ids = array (20,21,22);
foreach ($promotions_ids as $promotion_id ) {
$promotion = new Google_Service_Content_ProductCustomAttribute();
$promotion->setName('promotion_id');
$promotion->setValue($promotion_id);
$feed_entry->setCustomAttributes($promotion);
}
但这只会为不同的 ID 重新设置此属性。我什至不确定我是否以正确的方式这样做。可能遗漏了什么。完整的代码示例真的很有帮助。
我找不到 PHP 的最终代码示例。也就是说,如果您查看 API 其他语言的库,您会发现:
对于 Java 它使用 List<ProductCustomAttribute>
:
public Product setCustomAttributes(java.util.List<ProductCustomAttribute> customAttributes)
对于 JavaScript 它使用 map
:
setCustomAttributes(map)
setCustomAttributes({ 'size': 'Large', 'color': 'Green' })
结论:
有问题的 PHP 方法很有可能使用 array
个 Google_Service_Content_ProductCustomAttribute
个对象:
public function setCustomAttributes($customAttributes)
$feed_entry = new Google_Service_Content_Product();
$promotions_ids = array (20,21,22);
$customAttributes = array();
foreach ($promotions_ids as $promotion_id ) {
$promotion = new Google_Service_Content_ProductCustomAttribute();
$promotion->setName('promotion_id');
$promotion->setValue($promotion_id);
$customAttributes[] = $promotion;
}
$feed_entry->setCustomAttributes($customAttributes);
试试吧!