使用REST将视频添加到Magento 2产品

时间:2018-07-31 19:41:43

标签: 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" : {
         "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 \ Catalog \ Model \ Product \ GalleryGalleryManagement.php中的ProductRepository-> save()期间失败第70行。

这是我的有效载荷还是实际的magento错误问题?

2 个答案:

答案 0 :(得分:0)

通过直接使用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)没有好运。

答案 1 :(得分:0)

如果您想将视频添加到产品页面,那为什么不尝试使用YouTube API?

您只需要执行以下步骤:

  • 通过良好的开发人员控制台生成YouTube API密钥
  • 然后通过转到STORES->配置将Youtube API密钥添加到Magento 2中
  • 然后添加视频URL