{"id":88,"date":"2026-08-18T09:00:07","date_gmt":"2026-08-18T07:00:07","guid":{"rendered":"https:\/\/gmb-club.com\/blog\/tiktok-api\/"},"modified":"2026-08-25T11:26:55","modified_gmt":"2026-08-25T09:26:55","slug":"tiktok-api","status":"publish","type":"post","link":"https:\/\/gmb-club.com\/blog\/tiktok-api\/","title":{"rendered":"Comment publier sur TikTok via l&rsquo;API : guide technique 2026"},"content":{"rendered":"<p>Publier sur TikTok via l&rsquo;API n&rsquo;a rien \u00e0 voir avec un simple appel HTTP suivi d&rsquo;un upload de vid\u00e9o. TikTok impose un vrai parcours d\u00e9veloppeur : cr\u00e9ation d&rsquo;application, revue par TikTok, autorisation OAuth 2.0 et enfin publication en deux temps (initialisation puis envoi du fichier). Ce guide d\u00e9taille chaque \u00e9tape de la tiktok api officielle, avec des exemples de requ\u00eates g\u00e9n\u00e9riques pour comprendre la logique, avant d&rsquo;\u00e9voquer une alternative sans code pour ceux qui n&rsquo;ont pas envie de maintenir cette int\u00e9gration.<\/p>\n<h2>Ce qu&rsquo;est r\u00e9ellement la TikTok API pour la publication<\/h2>\n<p>TikTok expose une <strong>Content Posting API<\/strong> dans le cadre de sa plateforme \u00ab TikTok for Developers \u00bb. Elle permet \u00e0 une application tierce de publier des vid\u00e9os (et, selon les scopes accord\u00e9s, des photos) sur un compte TikTok, \u00e0 condition que ce compte ait explicitement autoris\u00e9 l&rsquo;application via OAuth. Ce n&rsquo;est pas une API ouverte \u00e0 tout le monde sans validation : chaque application doit \u00eatre cr\u00e9\u00e9e, d\u00e9crite, et souvent passer par une revue avant de pouvoir publier du contenu en production plut\u00f4t qu&rsquo;en mode brouillon limit\u00e9.<\/p>\n<p>Concr\u00e8tement, le flux se d\u00e9coupe toujours de la m\u00eame fa\u00e7on : authentification de l&rsquo;utilisateur, initialisation d&rsquo;une publication, envoi du fichier vid\u00e9o, puis v\u00e9rification du statut de traitement. C&rsquo;est ce flux que nous d\u00e9taillons ci-dessous.<\/p>\n<h2>\u00c9tape 1 : cr\u00e9er un compte d\u00e9veloppeur et une application<\/h2>\n<p>Tout commence sur le portail TikTok for Developers. Il faut cr\u00e9er un compte d\u00e9veloppeur, puis d\u00e9clarer une application avec ses informations (nom, description, cat\u00e9gorie d&rsquo;usage, politique de confidentialit\u00e9 et conditions d&rsquo;utilisation accessibles publiquement, ce qui est g\u00e9n\u00e9ralement exig\u00e9). C&rsquo;est \u00e0 ce moment que l&rsquo;on choisit les produits que l&rsquo;on souhaite activer, dont le \u00ab Content Posting API \u00bb (parfois associ\u00e9 au \u00ab Login Kit \u00bb selon la documentation en vigueur).<\/p>\n<p>Chaque application re\u00e7oit un identifiant client et une cl\u00e9 secr\u00e8te, \u00e0 conserver c\u00f4t\u00e9 serveur uniquement. Ce sont ces identifiants qui serviront pour l&rsquo;\u00e9change OAuth.<\/p>\n<h2>\u00c9tape 2 : la revue d&rsquo;application (audit)<\/h2>\n<p>C&rsquo;est souvent l&rsquo;\u00e9tape la plus sous-estim\u00e9e par les d\u00e9veloppeurs qui d\u00e9couvrent la tiktok api. Avant de pouvoir publier des vid\u00e9os sur des comptes qui ne sont pas les v\u00f4tres (ou en production, hors des comptes de test que vous avez d\u00e9clar\u00e9s), TikTok exige une revue de l&rsquo;application : vous d\u00e9crivez pr\u00e9cis\u00e9ment l&rsquo;usage pr\u00e9vu, parfois avec une d\u00e9monstration vid\u00e9o du parcours utilisateur, et TikTok valide (ou non) l&rsquo;acc\u00e8s aux scopes demand\u00e9s.<\/p>\n<p>Tant que l&rsquo;application n&rsquo;a pas pass\u00e9 cette revue, elle reste g\u00e9n\u00e9ralement limit\u00e9e aux comptes ajout\u00e9s manuellement comme testeurs, ou aux publications en mode brouillon plut\u00f4t qu&rsquo;en publication directe. Il faut donc anticiper ce d\u00e9lai dans un planning de d\u00e9veloppement : ce n&rsquo;est pas une activation instantan\u00e9e.<\/p>\n<h2>\u00c9tape 3 : l&rsquo;authentification OAuth 2.0<\/h2>\n<p>Une fois l&rsquo;application cr\u00e9\u00e9e, la connexion d&rsquo;un compte TikTok utilisateur suit le protocole OAuth 2.0 standard : redirection de l&rsquo;utilisateur vers une page d&rsquo;autorisation TikTok, consentement explicite sur les permissions demand\u00e9es, puis retour vers votre application avec un code d&rsquo;autorisation \u00e0 \u00e9changer contre un jeton d&rsquo;acc\u00e8s (access token) et un jeton de rafra\u00eechissement (refresh token).<\/p>\n<p>Les scopes concern\u00e9s pour la publication tournent typiquement autour de <code>video.upload<\/code> (envoyer une vid\u00e9o, g\u00e9n\u00e9ralement en brouillon) et <code>video.publish<\/code> (publier directement sur le profil, sous r\u00e9serve des autorisations accord\u00e9es par l&rsquo;utilisateur et valid\u00e9es par TikTok). Le d\u00e9tail exact des noms de scopes et leurs conditions d&rsquo;octroi \u00e9voluent selon les versions de la documentation officielle, il convient donc de toujours v\u00e9rifier la r\u00e9f\u00e9rence \u00e0 jour au moment de l&rsquo;impl\u00e9mentation plut\u00f4t que de se fier \u00e0 un exemple fig\u00e9.<\/p>\n<p>La requ\u00eate d&rsquo;\u00e9change du code contre un jeton est un appel de type POST vers le point d&rsquo;entr\u00e9e OAuth de TikTok (le chemin <code>\/v2\/oauth\/token\/<\/code> sur le domaine open.tiktokapis.com), envoy\u00e9 au format formulaire (<code>application\/x-www-form-urlencoded<\/code>). Dans l&rsquo;esprit d&rsquo;un flux OAuth 2.0 classique, les param\u00e8tres attendus sont les suivants :<\/p>\n<ul>\n<li>l&rsquo;identifiant client et la cl\u00e9 secr\u00e8te de votre application (gard\u00e9s uniquement c\u00f4t\u00e9 serveur) ;<\/li>\n<li>le code d&rsquo;autorisation re\u00e7u apr\u00e8s le consentement de l&rsquo;utilisateur ;<\/li>\n<li>le type d&rsquo;octroi, avec la valeur <code>authorization_code<\/code> ;<\/li>\n<li>l&rsquo;URL de redirection (callback) d\u00e9clar\u00e9e pour votre application.<\/li>\n<\/ul>\n<p>La r\u00e9ponse renvoie un jeton d&rsquo;acc\u00e8s et un jeton de rafra\u00eechissement.<\/p>\n<p>Le format exact des param\u00e8tres et de la r\u00e9ponse doit \u00eatre v\u00e9rifi\u00e9 dans la documentation officielle au moment de l&rsquo;impl\u00e9mentation : ce qui compte ici, c&rsquo;est de comprendre la m\u00e9canique (\u00e9change d&rsquo;un code contre un access token et un refresh token), pas de copier une requ\u00eate comme s&rsquo;il s&rsquo;agissait d&rsquo;une sp\u00e9cification fig\u00e9e.<\/p>\n<h2>\u00c9tape 4 : initialiser puis envoyer la vid\u00e9o<\/h2>\n<p>Une fois le jeton d&rsquo;acc\u00e8s obtenu, la publication d&rsquo;une vid\u00e9o via la tiktok api suit un sch\u00e9ma en deux temps, courant sur ce type d&rsquo;API m\u00e9dia :<\/p>\n<ol>\n<li><strong>Initialisation<\/strong> : un appel d\u00e9crit l&rsquo;intention de publication (param\u00e8tres de confidentialit\u00e9, mention du caract\u00e8re sponsoris\u00e9 le cas \u00e9ch\u00e9ant, l\u00e9gende) et indique comment le fichier vid\u00e9o va \u00eatre transmis (envoi direct du binaire ou upload depuis une URL selon les m\u00e9thodes propos\u00e9es). La r\u00e9ponse fournit un identifiant de publication \u00e0 utiliser pour la suite.<\/li>\n<li><strong>Upload du fichier<\/strong> : la vid\u00e9o elle-m\u00eame est transmise, g\u00e9n\u00e9ralement en flux binaire, en respectant les contraintes de format annonc\u00e9es par TikTok (encodage, dur\u00e9e, poids).<\/li>\n<\/ol>\n<p>La requ\u00eate d&rsquo;initialisation contient en g\u00e9n\u00e9ral deux blocs d&rsquo;information : un bloc d\u00e9crivant le post (le titre ou la l\u00e9gende, et le niveau de confidentialit\u00e9, par exemple une visibilit\u00e9 publique) et un bloc d\u00e9crivant la source de la vid\u00e9o (le mode d&rsquo;envoi choisi, la taille du fichier et son d\u00e9coupage \u00e9ventuel en morceaux). Les noms de champs r\u00e9els doivent \u00eatre v\u00e9rifi\u00e9s dans la documentation \u00e0 jour ; l&rsquo;essentiel est de retenir la logique : on annonce d&rsquo;abord la publication, puis on transmet le fichier.<\/p>\n<p>Apr\u00e8s l&rsquo;envoi, l&rsquo;API renvoie un statut de traitement qu&rsquo;il faut interroger (souvent en sondage p\u00e9riodique) pour savoir si la vid\u00e9o est en cours de traitement, publi\u00e9e, ou rejet\u00e9e. C&rsquo;est un point de vigilance fr\u00e9quent : une int\u00e9gration mal faite consid\u00e8re la publication comme termin\u00e9e d\u00e8s l&rsquo;upload, alors que le traitement c\u00f4t\u00e9 TikTok peut prendre du temps et \u00e9chouer ensuite.<\/p>\n<figure>\n<img decoding=\"async\" src=\"https:\/\/app.gmb-club.com\/static\/uploads\/article-images\/gmb-club-composer-apercu-video-tiktok-8e2081c4.png\" alt=\"Aper\u00e7u de la vid\u00e9o import\u00e9e \u00e0 l'\u00e9tape M\u00e9dia, avant publication sur TikTok.\" loading=\"lazy\" \/><figcaption>Aper\u00e7u de la vid\u00e9o import\u00e9e \u00e0 l&rsquo;\u00e9tape M\u00e9dia, avant publication sur TikTok.<\/figcaption><\/figure>\n<h2>Direct post ou brouillon : une distinction \u00e0 ne pas rater<\/h2>\n<p>Selon les permissions accord\u00e9es par le compte TikTok et le niveau de revue pass\u00e9 par l&rsquo;application, une publication via l&rsquo;API peut aboutir soit \u00e0 une <strong>publication directe<\/strong> sur le profil (direct post), soit \u00e0 un d\u00e9p\u00f4t en <strong>brouillon<\/strong> dans l&rsquo;application TikTok, que l&rsquo;utilisateur doit ensuite valider manuellement depuis son t\u00e9l\u00e9phone. Beaucoup d&rsquo;int\u00e9grations tierces d\u00e9marrent en mode brouillon, le temps que l&rsquo;application obtienne les autorisations n\u00e9cessaires pour la publication directe. C&rsquo;est un d\u00e9tail \u00e0 clarifier t\u00f4t dans un projet, car il change compl\u00e8tement l&rsquo;exp\u00e9rience c\u00f4t\u00e9 utilisateur final.<\/p>\n<h2>Les pi\u00e8ges les plus courants<\/h2>\n<ul>\n<li><strong>Sous-estimer le d\u00e9lai de revue.<\/strong> Le processus d&rsquo;audit de l&rsquo;application n&rsquo;est pas instantan\u00e9, et les usages permis pendant qu&rsquo;il est en cours sont limit\u00e9s.<\/li>\n<li><strong>Confondre upload et publication.<\/strong> Un fichier re\u00e7u par TikTok n&rsquo;est pas encore publi\u00e9 : il faut suivre le statut jusqu&rsquo;\u00e0 confirmation.<\/li>\n<li><strong>Ignorer le rafra\u00eechissement du jeton.<\/strong> Les jetons d&rsquo;acc\u00e8s OAuth ont une dur\u00e9e de vie limit\u00e9e, il faut g\u00e9rer le jeton de rafra\u00eechissement pour \u00e9viter que l&rsquo;int\u00e9gration ne se coupe silencieusement apr\u00e8s quelques semaines.<\/li>\n<li><strong>N\u00e9gliger les contraintes de format vid\u00e9o.<\/strong> TikTok attend un contenu vid\u00e9o (jamais une simple image), et le format vertical reste le standard attendu sur la plateforme.<\/li>\n<\/ul>\n<h2>Une alternative si vous ne voulez pas maintenir cette int\u00e9gration<\/h2>\n<p>Tout ce qui pr\u00e9c\u00e8de, compte d\u00e9veloppeur, revue d&rsquo;application, gestion OAuth, rafra\u00eechissement de jeton, suivi du statut de publication, repr\u00e9sente un travail d&rsquo;int\u00e9gration r\u00e9el \u00e0 maintenir dans la dur\u00e9e (TikTok fait \u00e9voluer sa documentation et ses exigences de revue). Si l&rsquo;objectif est simplement de programmer des vid\u00e9os sur TikTok sans porter cette charge technique, <a href=\"https:\/\/gmb-club.com\">GMB Club<\/a> encapsule cette complexit\u00e9.<\/p>\n<p>GMB Club est une plateforme de pr\u00e9sence locale organis\u00e9e autour de trois piliers : la fiche Google Business, les r\u00e9seaux sociaux et le site web, avec un agent IA et une gestion multi-\u00e9tablissements. Sur le pilier r\u00e9seaux sociaux, TikTok fait partie des plateformes prises en charge aux c\u00f4t\u00e9s de Facebook, Instagram, Google Business, LinkedIn, Pinterest et YouTube. La connexion se fait en autorisant l&rsquo;application via le consentement TikTok for Business depuis l&rsquo;interface, sans configuration technique de votre c\u00f4t\u00e9 : GMB Club publie ensuite via l&rsquo;API officielle de TikTok pour votre compte.<\/p>\n<p>Le composer fonctionne en trois \u00e9tapes (contenu, m\u00e9dia, planification) : vous r\u00e9digez le texte, vous ajoutez votre vid\u00e9o au format 9:16 (TikTok exige une vid\u00e9o, pas une image seule), vous fixez une date et une heure, et le post est programm\u00e9. Un m\u00eame contenu peut \u00eatre diffus\u00e9 sur plusieurs r\u00e9seaux en m\u00eame temps, avec un ton adapt\u00e9 \u00e0 chacun. \u00c0 noter : la g\u00e9n\u00e9ration automatique de contenu par l&rsquo;IA de GMB Club ne couvre pas TikTok, YouTube ni Snapchat, puisque ces r\u00e9seaux exigent des vid\u00e9os que l&rsquo;IA ne produit pas ; pour TikTok, c&rsquo;est donc votre propre vid\u00e9o que vous programmez via le <a href=\"https:\/\/gmb-club.com\/produits\/reseaux-sociaux\">composer<\/a>.<\/p>\n<figure>\n<img decoding=\"async\" src=\"https:\/\/app.gmb-club.com\/static\/uploads\/article-images\/gmb-club-planning-publications-semaine-2cc2d020.png\" alt=\"TikTok, Instagram, Facebook et LinkedIn programm\u00e9s dans un m\u00eame planning.\" loading=\"lazy\" \/><figcaption>TikTok, Instagram, Facebook et LinkedIn programm\u00e9s dans un m\u00eame planning.<\/figcaption><\/figure>\n<p>Pour les \u00e9quipes techniques qui pr\u00e9f\u00e8rent piloter cela par code, l&rsquo;<a href=\"https:\/\/gmb-club.com\/api-docs\">API GMB Club<\/a> permet de cr\u00e9er et planifier des posts sur les r\u00e9seaux, dont TikTok, depuis Zapier, Make ou vos propres scripts, avec un champ de planification d\u00e9di\u00e9 par plateforme. C&rsquo;est une mani\u00e8re d&rsquo;automatiser la publication TikTok sans avoir \u00e0 g\u00e9rer soi-m\u00eame le compte d\u00e9veloppeur TikTok, la revue d&rsquo;application et le cycle de vie des jetons OAuth.<\/p>\n<p>Un essai gratuit de 7 jours donne acc\u00e8s \u00e0 l&rsquo;ensemble des fonctionnalit\u00e9s sans carte bancaire, avec bascule automatique vers un compte gratuit \u00e0 l&rsquo;issue (aucun d\u00e9bit). Le compte gratuit permet de programmer une publication par semaine sur les r\u00e9seaux sociaux, TikTok inclus. Les d\u00e9tails de tarifs sont disponibles sur <a href=\"https:\/\/gmb-club.com\/tarifs\">gmb-club.com\/tarifs<\/a>, et l&rsquo;inscription se fait sur <a href=\"https:\/\/app.gmb-club.com\">app.gmb-club.com<\/a>.<\/p>\n<h2>FAQ<\/h2>\n<h3>Faut-il obligatoirement passer par un compte d\u00e9veloppeur TikTok for Developers pour publier via l&rsquo;API ?<\/h3>\n<p>Oui. Toute publication automatis\u00e9e sur TikTok via son API officielle n\u00e9cessite une application d\u00e9clar\u00e9e sur le portail TikTok for Developers, avec les identifiants OAuth associ\u00e9s et, dans la plupart des cas, une revue d&rsquo;application avant un usage en production.<\/p>\n<h3>Peut-on publier une image seule sur TikTok via l&rsquo;API ?<\/h3>\n<p>Le format natif et attendu de TikTok reste la vid\u00e9o. Selon les scopes et produits activ\u00e9s, certaines options de publication photo existent c\u00f4t\u00e9 TikTok, mais l&rsquo;usage principal de la Content Posting API pour du contenu type reste la vid\u00e9o, id\u00e9alement au format vertical 9:16.<\/p>\n<h3>Combien de temps prend la revue d&rsquo;application TikTok ?<\/h3>\n<p>Le d\u00e9lai n&rsquo;est pas garanti et d\u00e9pend du volume trait\u00e9 par TikTok ainsi que de la compl\u00e9tude du dossier soumis (description d&rsquo;usage, \u00e9l\u00e9ments d\u00e9monstratifs). Il faut pr\u00e9voir ce d\u00e9lai en amont d&rsquo;un lancement plut\u00f4t que de le d\u00e9couvrir en fin de projet.<\/p>\n<h3>GMB Club publie-t-il directement mes vid\u00e9os sans que je fasse quoi que ce soit ?<\/h3>\n<p>Non : GMB Club ne g\u00e9n\u00e8re pas la vid\u00e9o \u00e0 votre place pour TikTok. Vous fournissez votre vid\u00e9o (au format 9:16, id\u00e9alement de moins de 60 secondes) dans le composer, vous la programmez, et GMB Club se charge de la publication via l&rsquo;API officielle de TikTok au moment pr\u00e9vu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment fonctionne r\u00e9ellement l&rsquo;API TikTok pour publier des vid\u00e9os : compte d\u00e9veloppeur, revue, OAuth, upload en deux temps.<\/p>\n","protected":false},"author":1,"featured_media":74,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-88","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":1,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"predecessor-version":[{"id":106,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/posts\/88\/revisions\/106"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/media\/74"}],"wp:attachment":[{"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gmb-club.com\/blog\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}