Asosiy mazmunga o'tish
Socialift
Platforma

TikTok API integratsiyasi

Socialift TikTok API'sini Instagram, Facebook va LinkedIn bilan bir xil Python SDK ostiga olib keladi: 24 soatlik access token va 365 kunlik refresh token bilan Login Kit OAuth, ijodkor profili va videolari, Content Posting API orqali video va rasm karuseli e'lon qilish, Business Account API statistikasi va izohlari hamda webhook imzosini tekshirish.

Yangilangan:

TikTok API orqali nima qilish mumkin?

TikTok API — TikTok for Developers taqdim etadigan rasmiy interfeyslar to'plami. Foydalanuvchi Login Kit orqali ruxsat bergach, ilova uning profili va videolarini o'qiy oladi, Content Posting API bilan video yoki rasm karuselini e'lon qiladi, Business Account API bilan esa video statistikasi va izohlar ustida ishlaydi.

TikTok'ning o'ziga xosliklari integratsiyani murakkablashtiradi: access token atigi 24 soat yashaydi, yangilashda esa yangi refresh token qaytishi mumkin va u saqlangan qiymatning o'rnini egallashi kerak. Open API v2 har bir javobni error obyekti bilan qaytaradi (muvaffaqiyatda code: "ok"), Business API esa o'z code/message konvertidan foydalanadi — shuning uchun faqat HTTP statusga emas, javob tanasiga ham qarang.

Socialift mexanikani o'z zimmasiga oladi: refresh_token() yangi access va refresh tokenli TokenBundle qaytaradi (ularni ilovangiz saqlaydi — SDK hech narsa saqlamaydi), kabinetda ulangan akkauntlar uchun serverning yangilash endpointi (POST /tiktok/auth/refresh, Playground'da ham bor) yangi tokenlarni shifrlab yozadi, TikTok xato kodlari esa boshqa platformalardagi kabi AuthError, PermissionError, RateLimitError yoki ApiError bo'lib ko'tariladi.

TikTok tomonida nimalar qo'llab-quvvatlanadi

01

Login Kit OAuth

Avtorizatsiya, kodni tokenga almashtirish, yangilash va bekor qilish. TokenBundle 24 soatlik access token va 365 kunlik refresh token uchun expires_at va refresh_expires_at ni beradi.

02

Profil va videolar

Ijodkor profili, videolar ro'yxati — sahifalab yoki yig'ib — hamda aniq ID'lar bo'yicha video ma'lumoti.

03

Video e'lon qilish

Content Posting API: havola orqali yoki faylni bo'laklarga bo'lib to'g'ridan-to'g'ri yuklash, e'lon holatini kuzatish.

04

Rasm karuseli va qoralamalar

Bir nechta rasmdan iborat post e'lon qilish yoki kontentni ijodkorning TikTok'dagi qoralamalariga yuborish.

05

Business Account API

Video va akkaunt insight'lari; izohlarni o'qish, javob berish, yashirish, o'chirish, layk bosish va pin qilish.

06

Webhooklar

verify_tiktok_request TikTok-Signature sarlavhasini (vaqt tamg'asi + tana ustidan HMAC-SHA256) replay oynasi bilan tekshiradi; kabinetda hodisalar dedupe qilinadi va authorization.removed kelganda akkaunt faolsizlantiriladi.

Video e'lon qilish — creator_info'dan boshlab

TikTok qoidasiga ko'ra har bir e'londan oldin creator_info so'raladi va maxfiylik darajasini foydalanuvchi shu ro'yxatdan o'zi tanlaydi — standart qiymat qo'yilmaydi.

publish.py
import asyncio
from socialift import TikTok

async def main(token: str, privacy_level: str):
    async with TikTok.from_env() as tt:          # TIKTOK_CLIENT_KEY / TIKTOK_CLIENT_SECRET
        info = await tt.creator_info(token)
        # privacy_level — foydalanuvchi info["privacy_level_options"] dan o'zi tanlagan qiymat
        if privacy_level not in info["privacy_level_options"]:
            raise ValueError("bu ijodkor uchun ruxsat etilmagan maxfiylik darajasi")
        result = await tt.publish_video(token, video_url="https://cdn.siz.uz/reel.mp4",
                                        title="Yangi kolleksiya", privacy_level=privacy_level, wait=True)
        print(result["publish_id"])
        # Domen tasdiqlanmagan bo'lsa — faylning o'zini bo'laklab yuklang
        await tt.publish_video(token, video="reel.mp4", privacy_level=privacy_level)

asyncio.run(main("ACCESS_TOKEN", privacy_level="SELF_ONLY"))  # e'lon oynasida tanlangan qiymat

video_url usulida TikTok faylni o'zi yuklab oladi, shuning uchun media domeni TikTok developer panelida tasdiqlangan bo'lishi kerak. video= usulida fayl bo'laklarga bo'linib yuklanadi va domen tasdiqlash talab qilinmaydi.

wait=True TikTok videoni qayta ishlab bo'lguncha kutadi (taxminan 2 daqiqagacha; FAILED yoki vaqt tugasa ApiError). Kutmasdan yuborsangiz, holatni keyinroq await tt.publish_status(publish_id, token) bilan tekshirasiz. Rasm karuseli uchun await tt.publish_photos(token, photo_urls=[...], title="...", privacy_level=privacy_level) ishlatiladi.

Sinov oyida (birinchi 30 kun) token SDK'ning barcha imkoniyatlarini ochadi, jumladan e'lon qilish (creator_info, publish_video, publish_photos, upload_video) va statistika (business_videos, business_account). Uzaytirilgandan keyin imkoniyatlar token rejasiga bog'liq — aniq ro'yxatni kabinetdagi «Tekshirish va muhitlar» ko'rsatadi. Kabinet Playground'i rejadan qat'i nazar ishlaydi.

Profil, videolar va izohlar

Profil va videolar Login Kit tokeni bilan olinadi; statistika va izohlar Business API orqali ishlaydi va TikTok bergan Business API ruxsatini talab qiladi.

videos.py
import asyncio
from socialift import TikTok

async def main(token: str, video_id: str, comment_id: str):
    async with TikTok.from_env() as tt:
        profile = await tt.me(token)
        page = await tt.videos(token, limit=20)
        everything = await tt.iter_videos(token, max_items=100)

        # Business API: business_id — ijodkorning open_id si
        biz = profile.id
        stats = await tt.business_videos(token, business_id=biz, max_count=20)
        account = await tt.business_account(token, business_id=biz)
        comments = await tt.comments(video_id, token, business_id=biz)
        await tt.reply_comment(comment_id, token, "Rahmat!", video_id=video_id, business_id=biz)

asyncio.run(main("ACCESS_TOKEN", "VIDEO_ID", "COMMENT_ID"))

SDK'da alohida metodi bo'lmagan Business endpointini ham chaqirish mumkin: await tt.business("business/get/", token, method="GET", params={...}). Xatolar va qayta urinishlar boshqa metodlardagi kabi ishlaydi.

Qaysi imkoniyat nimani talab qiladi

TikTok API bir nechta mahsulotdan iborat va har birining o'z sharti bor. Jadval integratsiyani oldindan rejalashtirishga yordam beradi.

Qaysi imkoniyat nimani talab qiladi — Platformalar bo'yicha imkoniyatlar jadvali
ImkoniyatSDK metodiTikTok tomonidagi shart
Profil va videolarme · videos · iter_videos · videoLogin Kit orqali OAuth
Video e'lon — havola orqalipublish_video(video_url=…)Media domeni TikTok panelida tasdiqlangan
Video e'lon — fayl yuklashpublish_video(video=…)Domen tasdiqlash shart emas
Rasm karuselipublish_photosFaqat havola orqali (PULL_FROM_URL), 35 tagacha rasm, tasdiqlangan domen yoki URL prefiksi
Hammaga ochiq postprivacy_levelAudit'dan o'tgan ilova; aks holda SELF_ONLY, yopiq akkaunt, 24 soatda ≤5 foydalanuvchi
Insight va izohlarbusiness_videos · business_account · commentsTikTok Business akkaunti va TikTok bergan Business API ruxsati
Webhooklarverify_tiktok_requestTikTok-Signature imzosi

Bu shartlarni TikTok qo'yadi — hech qanday SDK ularni chetlab o'ta olmaydi.

TikTok'ni ulash — to'rt qadam

  1. TikTok ilovasini yarating

    TikTok for Developers'da ilova oching, Login Kit va kerakli mahsulotlarni qo'shing, client key va client secret'ni oling.

  2. Kalitlarni Socialift'ga qo'shing

    Client key va secret'ni Kalitlar sahifasiga kiriting: ular shifrlangan holda saqlanadi va bir bosishda TikTok'ning o'zida tekshiriladi. Saqlangach sahifada redirect URI va webhook manzili chiqadi.

  3. Redirect URI va webhookni sozlang

    O'sha redirect URI'ni Login Kit'ga, webhook manzilini TikTok paneliga qo'ying. Havola orqali e'lon qilsangiz, media domeni yoki URL prefiksini tasdiqlang.

  4. Akkauntni ulang va sinang

    Ulanishlar sahifasida TikTok akkauntini OAuth orqali ulang, Playground'da birinchi so'rovni yuboring va tayyor kodni SDK'ga ko'chiring.

Ishlab chiqarishga chiqishdan oldin

  • Yangilashda boshqa refresh token qaytishi mumkin — doim oxirgi javobdagi qiymatni saqlang.
  • Access token 24 soat yashaydi: uzoq davom etadigan fon vazifalarida yangilashni hisobga oling.
  • Har bir e'londan oldin creator_info'ni chaqiring va privacy_level'ni foydalanuvchi faqat qaytgan ro'yxatdan tanlasin.
  • Audit'dan o'tmagan ilova faqat SELF_ONLY bilan, yopiq akkauntdan post qila oladi va 24 soatda ko'pi bilan 5 foydalanuvchi e'lon qila oladi — bu TikTok qoidasi.
  • Havola orqali e'lon uchun domenni oldindan tasdiqlang yoki faylni to'g'ridan-to'g'ri yuklang.
  • Faqat HTTP statusga tayanmang: Open API v2 javobida satrli error.code (muvaffaqiyatda ok) va TikTok qo'llab-quvvatlash so'raydigan log_id bor.

Ko'p so'raladigan savollar

TikTok API orqali video yuklash mumkinmi?

Ha. Content Posting API orqali videoni havola bo'yicha yoki faylni bo'laklarga bo'lib to'g'ridan-to'g'ri yuklash mumkin. E'londan oldin creator_info so'rovi majburiy, havola usuli esa TikTok panelida tasdiqlangan domenni talab qiladi.

Nega post faqat menga ko'rinadi (SELF_ONLY)?

Ilova TikTok audit'idan o'tmaguncha API postlari faqat SELF_ONLY bo'ladi, e'lon qilayotgan akkaunt yopiq bo'lishi kerak va 24 soatda ko'pi bilan 5 foydalanuvchi ilova orqali post qila oladi. Audit'dan keyin creator_info qaytargan darajalar ishlatiladi; ijodkor uchun kunlik post limiti (odatda ~15) baribir amal qiladi.

TikTok izohlarini API orqali o'qib, javob berish mumkinmi?

Ha, TikTok'ning Business (Accounts) API'si orqali: izohlar ro'yxati, javob, yashirish, o'chirish, layk va pin. Buning uchun TikTok Business akkaunti va TikTok bergan Business API ruxsati kerak.

TikTok tokeni qancha yashaydi?

Access token 24 soat, refresh token 365 kun yashaydi. Yangilashda boshqa refresh token qaytishi mumkin — doim oxirgisini saqlang. SDK bilan TokenBundle ni o'zingiz saqlaysiz; kabinetda ulangan akkauntlarda serverning yangilash endpointi yangi tokenlarni shifrlab yozadi.

TikTok'ga API orqali story joylash mumkinmi?

Yo'q. Content Posting API faqat video va foto post beradi: rasmiy hujjatdagi Direct Post ma'lumotnomasida story uchun na alohida endpoint, na post_mode qiymati bor. Bu Socialift cheklovi emas — TikTok API'sining doirasi shunday, story esa faqat TikTok ilovasining o'zida joylanadi. Shuning uchun API orqali yuborilgan har qanday kontent creator_info qaytargan privacy_level bilan oddiy post sifatida chiqadi.

Socialift TikTok'ning rasmiy hamkorimi?

Yo'q. Socialift — TikTok'ning ochiq API'lari ustida ishlaydigan mustaqil integratsiya qatlami. U TikTok bilan rasmiy hamkorlik maqomiga ega emas.

Manbalar

  1. TikTok — Manage user access tokens
  2. TikTok — Content Sharing Guidelines
  3. TikTok — Photo post API reference
  4. TikTok — Direct Post API reference
  5. TikTok — API v2 error handling
  6. TikTok — Webhooks verification
  7. TikTok — Webhook events

Bog'liq sahifalar

TikTok'ni ham ulang

Token oling, TikTok ilovangiz kalitlarini qo'shing va birinchi so'rovni Playground'da yuboring.

Bepul token olish →