我正在使用ugcPost端点生成我的共享。
根据文档,我提出了一个预上载请求(包括多部分设置),并且我收到了对该请求的适当的多部分响应。然而,绝对没有aws key-id或任何东西...报头mentioned in the sample不是我在注册上传为multipart后收到的报头。
他们提到了对单个部件上传请求的响应:
{
"value": {
"asset": "urn:li:digitalmediaAsset:C5400AQHpR1ANqMWqNA",
"mediaArtifact": "urn:li:digitalmediaMediaArtifact:(urn:li:digitalmediaAsset:C5400AQHpR1ANqMWqNA,urn:li:digitalmediaMediaArtifactClass:aws-userUploadedVideo)",
"uploadMechanism": {
"com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest": {
"headers": {
"Content-Type": "application/octet-stream",
"x-amz-server-side-encryption": "aws:kms",
"x-amz-server-side-encryption-aws-kms-key-id": "e10ace24-blah-4977-bar-89foo193e2ab"
},
"uploadUrl": "https://video-uploads.s3-accelerate.amazonaws.com/C5400AQHpR1ANqMWqNA/aws-userUploadedVideo?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20180120T000018Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-server-side-encryption%3Bx-amz-server-side-encryption-aws-kms-key-id&X-Amz-Expires=86400&X-Amz-Credential=AKIAJYU2MA%2F20180120%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f7c0756a80998786766588878768778768977687d4c687b3f1a0e8"
}
}
}
}然而,当我注册一个分块上传时,我收到了类似这样的东西:
{
"value": {
"uploadMechanism": {
"com.linkedin.digitalmedia.uploading.MultipartUpload": {
"metadata": "base64_encoded_metadata",
"partUploadRequests": [
{
"headers": {
"Content-Length": "5242880",
"Content-Type": "application/octet-stream"
},
"urlExpiresAt": 1558459064787,
"byteRange": {
"lastByte": 5242879,
"firstByte": 0
},
"url": "https://video-uploads-prod.s3-accelerate.amazonaws.com/ABCD/aws-userUploadedVideo?uploadId=xxx&partNumber=1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=xxx&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=86400&X-Amz-Credential=xxx&X-Amz-Signature=xxx"
},
{...other_parts...}
]
}
}
}
}据我所知,我应该在partUploadRequests数组上迭代,并使用包含在那里的每个“块”上的头来进行多部分上传。我得到的这些标题...当我将其作为多部分请求时,我没有从LinkedIn中得到"x-amz-server-side-encryption"头。因此,当我尝试上传一个块时,我从amazon得到一个错误,说一些关于签名的事情……
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated...(truncated)我在多部分上传的领域之外提出这个请求没有任何问题...但当我尝试将其分成多个部分时,它完全失败了。
与他们的api文档一致,如果我没有执行此操作的权限,我预计会得到一个4xx错误...但是我没有收到这样的错误,我只是没有从LinkedIn得到正确的头文件。
这是我在初始上传注册请求的正文中发送的内容:
{
"registerUploadRequest": {
"supportedUploadMechanism": ["MULTIPART_UPLOAD"],
"fileSize": 123123123,
"owner": "url:li:organization:x123123123",
"recipes": [
"urn:li:digitalmediaRecipe:feedshare-video"
],
"serviceRelationships": [
{
"identifier": "urn:li:userGeneratedContent",
"relationshipType": "OWNER"
}
]
}
}我的应用程序有Marketing Dev。平台访问,我遵循这些文档指示:https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/vector-asset-api#register-an-upload
到目前为止,只有在尝试进行分块上传时才会失败。到目前为止,我已经能够成功地发布单张图片帖子和文章类型的帖子…但是视频上传让我难以理解...
有谁能对此有所了解吗?
编辑:在发布这篇文章后,我几乎立即发现(之前我搜索时没有显示) this question似乎暗示这种上传还不支持??到目前为止,这是错误的味道,任何人可以进一步确认这是不受支持的!?
发布于 2019-05-22 01:21:10
视频上传是一项受限制的功能,仅授权给选定的开发人员。
https://stackoverflow.com/questions/56226156
复制相似问题