我尝试使用销售合作伙伴API的createFeedDocument操作将Feed文档上传到Amazon。调用API后,我收到一个包含feedDocumentId、url和encryptionDetails的响应对象,其中包括标准、initializationVector和密钥。但是,当我尝试使用返回的URL上传Feed文档时,我收到一个错误消息:“Invalid initializationvector”。
我使用的是版本0.7.10。
这是我从callAPI函数得到的响应:{ feedDocumentId: '3d4e42b5-1d6e-44e8-a89c-XXXXXXX', url: 'https://d34o8swodXXX.cloudfront.net/Feed_101__POST_PRODUCT_DATA_%2BKEY%3DFeed_101%2BMode%3DCBC%2BINITVEC%3D8f+6c+cc+56+0d+50+a2+d0+31+ec+80+be+f2+6a+1d+0a', encryptionDetails: { standard: 'AES', initializationVector: '8f 6c cc 56 0d 50 a2 d0 31 ec 80 be f2 6a 1d 0a', key: 'key' } }
我遇到的问题是amazon-sp-API包的SellingPartner.js文件中的createCipheriv函数调用。具体来说,当代码尝试使用销售伙伴API的createFeedDocument操作返回的初始化向量创建密码时,会发生错误。错误消息显示为“TypeError:初始化向量”“无效。我无法检查或修改初始化向量,因为它是由销售合作伙伴API返回的。我的代码的目标是上载一个源,以将新产品列出到Amazon目录,而该目录尚不存在。源对象本身不应与问题相关。
有人能帮我解决这个错误吗?谢谢!
1条答案
按热度按时间g52tjvyc1#
我相信您使用的是旧版本的Feeds API。请参阅documentation了解不包含加密细节的最新版本。createFeedDocument操作返回的URL解释如下:
Amazon S3预签名URL:S3存储桶的URL,您可以从该存储桶下载对象,而无需AWS安全凭据或权限。在某些情况下,对象可能会被压缩,在这种情况下,除了URL之外,还会返回compressionAlgorithm。URL将在5分钟后过期。