mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-23 02:21:42 -08:00
⚡ Minor improvements to Twitter-Node
This commit is contained in:
parent
7c049fa858
commit
8eb1890f7f
|
@ -12,7 +12,8 @@ import {
|
|||
|
||||
import {
|
||||
IBinaryKeyData,
|
||||
IDataObject, INodeExecutionData,
|
||||
IDataObject,
|
||||
INodeExecutionData,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
export async function twitterApiRequest(this: IExecuteFunctions | IExecuteSingleFunctions | ILoadOptionsFunctions | IHookFunctions, method: string, resource: string, body: any = {}, qs: IDataObject = {}, uri?: string, option: IDataObject = {}): Promise<any> { // tslint:disable-line:no-any
|
||||
|
@ -68,7 +69,7 @@ export async function twitterApiRequestAllItems(this: IExecuteFunctions | ILoadO
|
|||
return returnData;
|
||||
}
|
||||
|
||||
export function chunks (buffer: Buffer, chunkSize: number) {
|
||||
export function chunks(buffer: Buffer, chunkSize: number) {
|
||||
const result = [];
|
||||
const len = buffer.length;
|
||||
let i = 0;
|
||||
|
@ -81,9 +82,9 @@ export function chunks (buffer: Buffer, chunkSize: number) {
|
|||
}
|
||||
|
||||
export async function uploadAttachments(this: IExecuteFunctions, binaryProperties: string[], items: INodeExecutionData[], i: number) {
|
||||
|
||||
|
||||
const uploadUri = 'https://upload.twitter.com/1.1/media/upload.json';
|
||||
|
||||
|
||||
const media: IDataObject[] = [];
|
||||
|
||||
for (const binaryPropertyName of binaryProperties) {
|
||||
|
@ -129,7 +130,7 @@ export async function uploadAttachments(this: IExecuteFunctions, binaryPropertie
|
|||
media_type: binaryData[binaryPropertyName].mimeType,
|
||||
};
|
||||
|
||||
response = await twitterApiRequest.call(this, 'POST', '', {}, {}, uploadUri, { form: attachmentBody });
|
||||
response = await twitterApiRequest.call(this, 'POST', '', {}, {}, uploadUri, { form: attachmentBody });
|
||||
|
||||
const mediaId = response.media_id_string;
|
||||
|
||||
|
@ -174,10 +175,10 @@ export async function uploadAttachments(this: IExecuteFunctions, binaryPropertie
|
|||
}, (check_after_secs as number) * 1000);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
media.push(response);
|
||||
}
|
||||
|
||||
return media;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,9 +42,9 @@ export const tweetOperations = [
|
|||
] as INodeProperties[];
|
||||
|
||||
export const tweetFields = [
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:create */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:create */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
{
|
||||
displayName: 'Text',
|
||||
name: 'text',
|
||||
|
@ -145,9 +145,10 @@ export const tweetFields = [
|
|||
},
|
||||
],
|
||||
},
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:search */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:search */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
{
|
||||
displayName: 'Search Text',
|
||||
name: 'searchText',
|
||||
|
@ -338,9 +339,10 @@ export const tweetFields = [
|
|||
},
|
||||
],
|
||||
},
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:like */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:like */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
{
|
||||
displayName: 'Tweet ID',
|
||||
name: 'tweetId',
|
||||
|
@ -385,9 +387,10 @@ export const tweetFields = [
|
|||
},
|
||||
],
|
||||
},
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:retweet */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* tweet:retweet */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
{
|
||||
displayName: 'Tweet ID',
|
||||
name: 'tweetId',
|
||||
|
|
|
@ -157,7 +157,7 @@ export class Twitter implements INodeType {
|
|||
const body: ITweet = {
|
||||
status: text,
|
||||
};
|
||||
|
||||
|
||||
if (additionalFields.inReplyToStatusId) {
|
||||
body.in_reply_to_status_id = additionalFields.inReplyToStatusId as string;
|
||||
body.auto_populate_reply_metadata = true;
|
||||
|
@ -172,7 +172,7 @@ export class Twitter implements INodeType {
|
|||
});
|
||||
|
||||
const medias = await uploadAttachments.call(this, attachmentProperties, items, i);
|
||||
|
||||
|
||||
body.media_ids = (medias as IDataObject[]).map((media: IDataObject) => media.media_id_string).join(',');
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue