n8n-nodes-xiaohongshu
Version:
n8n node for Xiaohongshu (Little Red Book) API integration
503 lines (502 loc) • 12.4 kB
TypeScript
import { IExecuteFunctions } from 'n8n-workflow';
/**
* 小红书 API 分类定义
*/
export declare const API_CATEGORIES: {
name: string;
value: string;
description: string;
}[];
/**
* 小红书 API 接口定义
*/
export declare const API_OPERATIONS: {
search: ({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
keyword: string;
page: number;
page_size: number;
search_id: string;
sort: string;
note_type: number;
ext_flags: never[];
image_formats: string[];
search_user_request?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
search_user_request: {
keyword: string;
page: number;
page_size: number;
biz_type: string;
search_id: string;
request_id: string;
};
keyword?: undefined;
page?: undefined;
page_size?: undefined;
search_id?: undefined;
sort?: undefined;
note_type?: undefined;
ext_flags?: undefined;
image_formats?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
keyword: string;
};
defaultBody?: undefined;
})[];
note: ({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
source_note_id: string;
image_formats: string[];
xsec_token: string;
xsec_source: string;
extra: {
need_body_topic: string;
};
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
cursor: string;
top_comment_id: string;
image_formats: string;
xsec_token: string;
root_comment_id?: undefined;
num?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
root_comment_id: string;
num: number;
cursor: string;
top_comment_id?: undefined;
image_formats?: undefined;
xsec_token?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
num: number;
cursor: string;
user_id: string;
image_scenes: string;
xsec_token: string;
xsec_source: string;
note_id?: undefined;
top_comment_id?: undefined;
image_formats?: undefined;
root_comment_id?: undefined;
};
defaultBody?: undefined;
})[];
user: ({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
target_user_id: string;
xsec_token: string;
};
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams?: undefined;
})[];
};
/**
* 获取签名参数
*/
export declare function getSignParams(this: IExecuteFunctions, uri: string, data: any, cookies: string): Promise<any>;
/**
* 发送小红书 API 请求
*/
export declare function xiaohongshuApiRequest(this: IExecuteFunctions, options: any): Promise<any>;
/**
* 获取 API 分类
*/
export declare function getApiCategories(this: IExecuteFunctions): Promise<{
name: string;
value: string;
description: string;
}[]>;
/**
* 根据分类获取 API 接口
*/
export declare function getApisByCategory(this: IExecuteFunctions, category: string): Promise<({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
keyword: string;
page: number;
page_size: number;
search_id: string;
sort: string;
note_type: number;
ext_flags: never[];
image_formats: string[];
search_user_request?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
search_user_request: {
keyword: string;
page: number;
page_size: number;
biz_type: string;
search_id: string;
request_id: string;
};
keyword?: undefined;
page?: undefined;
page_size?: undefined;
search_id?: undefined;
sort?: undefined;
note_type?: undefined;
ext_flags?: undefined;
image_formats?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
keyword: string;
};
defaultBody?: undefined;
})[] | ({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
source_note_id: string;
image_formats: string[];
xsec_token: string;
xsec_source: string;
extra: {
need_body_topic: string;
};
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
cursor: string;
top_comment_id: string;
image_formats: string;
xsec_token: string;
root_comment_id?: undefined;
num?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
root_comment_id: string;
num: number;
cursor: string;
top_comment_id?: undefined;
image_formats?: undefined;
xsec_token?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
num: number;
cursor: string;
user_id: string;
image_scenes: string;
xsec_token: string;
xsec_source: string;
note_id?: undefined;
top_comment_id?: undefined;
image_formats?: undefined;
root_comment_id?: undefined;
};
defaultBody?: undefined;
})[] | ({
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
target_user_id: string;
xsec_token: string;
};
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams?: undefined;
})[]>;
/**
* 获取特定操作的详细信息
*/
export declare function getOperationDetails(this: IExecuteFunctions, category: string, operation: string): Promise<{
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
keyword: string;
page: number;
page_size: number;
search_id: string;
sort: string;
note_type: number;
ext_flags: never[];
image_formats: string[];
search_user_request?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
search_user_request: {
keyword: string;
page: number;
page_size: number;
biz_type: string;
search_id: string;
request_id: string;
};
keyword?: undefined;
page?: undefined;
page_size?: undefined;
search_id?: undefined;
sort?: undefined;
note_type?: undefined;
ext_flags?: undefined;
image_formats?: undefined;
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
keyword: string;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultBody: {
source_note_id: string;
image_formats: string[];
xsec_token: string;
xsec_source: string;
extra: {
need_body_topic: string;
};
};
defaultParams?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
cursor: string;
top_comment_id: string;
image_formats: string;
xsec_token: string;
root_comment_id?: undefined;
num?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
note_id: string;
root_comment_id: string;
num: number;
cursor: string;
top_comment_id?: undefined;
image_formats?: undefined;
xsec_token?: undefined;
user_id?: undefined;
image_scenes?: undefined;
xsec_source?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
num: number;
cursor: string;
user_id: string;
image_scenes: string;
xsec_token: string;
xsec_source: string;
note_id?: undefined;
top_comment_id?: undefined;
image_formats?: undefined;
root_comment_id?: undefined;
};
defaultBody?: undefined;
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams: {
target_user_id: string;
xsec_token: string;
};
} | {
name: string;
value: string;
description: string;
method: string;
url: string;
defaultParams?: undefined;
} | undefined>;
/**
* 解析 Cookie 字符串
*/
export declare function parseCookieString(cookieString: string): Record<string, string>;
/**
* 获取 Cookie 中的特定值
*/
export declare function getCookieValue(cookieString: string, name: string): string | null;
/**
* 构建查询字符串
*/
export declare function buildQueryString(params: Record<string, any>): string;
/**
* 解析小红书用户链接URL
*/
export declare function parseUserUrl(url: string): {
userId?: string;
xsecToken?: string;
xsecSource?: string;
};
/**
* 解析小红书笔记链接URL
*/
export declare function parseNoteUrl(url: string): {
noteId?: string;
xsecToken?: string;
xsecSource?: string;
};
/**
* 构建动态请求参数
*/
export declare function buildDynamicRequestParams(executeFunctions: IExecuteFunctions, category: string, operation: string, itemIndex: number): any;