Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用REST向Magento 2产品添加视频_Rest_Api_Magento_Magento2.2 - Fatal编程技术网

使用REST向Magento 2产品添加视频

使用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"

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": ""
         }
     }
}
我从这个调用中得到的响应是“无效选项值”,我在本地环境中对此进行了调试,这导致我在第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