diff --git a/packages/nodes-base/nodes/LinkedIn/GenericFunctions.ts b/packages/nodes-base/nodes/LinkedIn/GenericFunctions.ts index 0d914d9706..45c941b3ed 100644 --- a/packages/nodes-base/nodes/LinkedIn/GenericFunctions.ts +++ b/packages/nodes-base/nodes/LinkedIn/GenericFunctions.ts @@ -37,7 +37,7 @@ export async function linkedInApiRequest( headers: { Accept: 'application/json', 'X-Restli-Protocol-Version': '2.0.0', - 'LinkedIn-Version': '202304', + 'LinkedIn-Version': '202404', }, method, body, @@ -52,6 +52,9 @@ export async function linkedInApiRequest( if (binary) { delete options.json; options.encoding = null; + if (Object.keys(_headers as object).length > 0) { + Object.assign(options.headers as object, _headers); + } } if (Object.keys(body as IDataObject).length === 0) { diff --git a/packages/nodes-base/nodes/LinkedIn/LinkedIn.node.ts b/packages/nodes-base/nodes/LinkedIn/LinkedIn.node.ts index c341efe2d5..cbccc27631 100644 --- a/packages/nodes-base/nodes/LinkedIn/LinkedIn.node.ts +++ b/packages/nodes-base/nodes/LinkedIn/LinkedIn.node.ts @@ -172,11 +172,22 @@ export class LinkedIn implements INodeType { ); const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i); - this.helpers.assertBinaryData(i, binaryPropertyName); + const imageMetadata = this.helpers.assertBinaryData(i, binaryPropertyName); const buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName); const { uploadUrl, image } = registerObject.value; - await linkedInApiRequest.call(this, 'POST', uploadUrl as string, buffer, true); + + const headers = {}; + Object.assign(headers, { 'Content-Type': imageMetadata.mimeType }); + + await linkedInApiRequest.call( + this, + 'POST', + uploadUrl as string, + buffer, + true, + headers, + ); const imageBody = { content: { @@ -225,11 +236,22 @@ export class LinkedIn implements INodeType { ); const binaryPropertyName = additionalFields.thumbnailBinaryPropertyName as string; - this.helpers.assertBinaryData(i, binaryPropertyName); + const imageMetadata = this.helpers.assertBinaryData(i, binaryPropertyName); const buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName); const { uploadUrl, image } = registerObject.value; - await linkedInApiRequest.call(this, 'POST', uploadUrl as string, buffer, true); + + const headers = {}; + Object.assign(headers, { 'Content-Type': imageMetadata.mimeType }); + + await linkedInApiRequest.call( + this, + 'POST', + uploadUrl as string, + buffer, + true, + headers, + ); Object.assign(articleBody.content.article, { thumbnail: image }); }