使用REST向Magento 2产品添加视频
Magento版本2.2.5 有问题的端点/V1/products/{sku}/media方法:POST 我正在尝试使用Magento提供的API端点在产品sku下添加视频使用REST向Magento 2产品添加视频,rest,api,magento,magento2.2,Rest,Api,Magento,Magento2.2,Magento版本2.2.5 有问题的端点/V1/products/{sku}/media方法:POST 我正在尝试使用Magento提供的API端点在产品sku下添加视频 { "entry": { "media_type": "external-video", "label": "Video 2", "position": 2, "disabled": false, "types": ["thumbnail"], "content"
{
"entry": {
"media_type": "external-video",
"label": "Video 2",
"position": 2,
"disabled": false,
"types": ["thumbnail"],
"content" : {
"base64_encoded_data": "encoded image data ",
"type": "image/jpeg",
"name": "0.jpg"
},
"extension_attributes": {
"video_content": {
"media_type": "external-video",
"video_provider": "youtube",
"video_url": "some youtube video url",
"video_title": "some title",
"video_description": "",
"video_metadata": ""
}
}
}
我从这个调用中得到的响应是“无效选项值”,我在本地环境中对此进行了调试,这导致我在第70行的Magento\Catalog\Model\Product\GalleryGalleryManagement.php中的ProductRepository->save()过程中失败
这是我的有效负载问题还是实际的magento bug问题?通过直接使用POST/V1/products或PUT/V1/products/{sku}端点添加视频解决了此问题 post方法示例:
{
"product": {
"sku": "some-sku",
..... other product data,
"media_gallery_entries": {
"media_type": "external-video",
"label": "Video 2",
"position": 2,
"disabled": false,
"types": [],
"content" : {
"base64_encoded_data": "encoded image data ",
"type": "image/jpeg",
"name": "0.jpg"
},
"extension_attributes": {
"video_content": {
"media_type": "external-video",
"video_provider": "youtube",
"video_url": "some youtube video url",
"video_title": "some title",
"video_description": "",
"video_metadata": ""
}
}
}
}
我没有使用Magento的MediaGallery POST端点(/V1/products/{sku}/media)。如果要将视频添加到产品页面,为什么不尝试使用YouTube API 您只需遵循以下步骤:
- 通过goodle开发者控制台生成YouTube API密钥
- 然后通过转到存储-->配置,将Youtube API密钥添加到Magento 2
- 然后添加视频URL