@memberjunction/actions-bizapps-social
Version:
Social Media Actions for MemberJunction - Twitter, LinkedIn, Facebook, Instagram, TikTok, YouTube, HootSuite, Buffer
87 lines • 2.6 kB
TypeScript
import { BaseSocialMediaAction, SocialPost, SocialAnalytics, MediaFile } from '../../base/base-social.action.js';
import { AxiosInstance } from 'axios';
/**
* TikTok video information
*/
export interface TikTokVideo {
id: string;
share_url: string;
title: string;
description: string;
duration: number;
cover_image_url: string;
share_count: number;
view_count: number;
like_count: number;
comment_count: number;
create_time: number;
}
/**
* TikTok user information
*/
export interface TikTokUser {
open_id: string;
union_id: string;
avatar_url: string;
display_name: string;
bio_description: string;
profile_deep_link: string;
is_verified: boolean;
follower_count: number;
following_count: number;
likes_count: number;
}
/**
* Base class for all TikTok social media actions.
* Handles TikTok-specific authentication and API interaction patterns.
*/
export declare abstract class TikTokBaseAction extends BaseSocialMediaAction {
protected get platformName(): string;
protected get apiBaseUrl(): string;
private axiosInstance;
/**
* Initialize axios instance with interceptors
*/
protected getAxiosInstance(): AxiosInstance;
/**
* Make authenticated TikTok API request
*/
protected makeTikTokRequest<T>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', data?: any, params?: any): Promise<T>;
/**
* Refresh TikTok access token
*/
protected refreshAccessToken(): Promise<void>;
/**
* Upload media to TikTok (requires special approval)
*/
protected uploadSingleMedia(file: MediaFile): Promise<string>;
/**
* Search posts (videos) - TikTok only allows searching user's own videos
*/
protected searchPosts(params: any): Promise<SocialPost[]>;
/**
* Get user's videos
*/
protected getUserVideos(): Promise<TikTokVideo[]>;
/**
* Convert TikTok video to common post format
*/
protected normalizePost(video: TikTokVideo): SocialPost;
/**
* Normalize TikTok analytics to common format
*/
protected normalizeAnalytics(platformData: any): SocialAnalytics;
/**
* Extract hashtags from video description
*/
protected extractHashtags(description: string): string[];
/**
* Get current user info
*/
protected getCurrentUser(): Promise<TikTokUser>;
/**
* Validate TikTok-specific media requirements
*/
protected validateMediaFile(file: MediaFile): void;
}
//# sourceMappingURL=tiktok-base.action.d.ts.map