根据答案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设置此属性。我甚至不确定我是否以正确的方式这样做。可能遗漏了一些东西。完整的代码示例将非常有用。
答案 0 :(得分:2)
我无法找到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);
试试吧!