TikTok公式APIの歩き方


## 本記事概要
TikTokのAPIは多岐に渡り、ドキュメントも2種類あるので、「自分のケースではどのドキュメントを読めばいいか？」、「どこに情報があるか？」がちょっとわかりにくいです…
そのため、本記事ではTikTokの公式APIの全体像を俯瞰し、各APIがどんな機能を提供しているのかなんとなく理解していただくことを目指します！

## 本記事が目指す未来
* TikTokの公式APIの全体像がわかる
* 公式ドキュメントがスラスラ読めるようになる

## TikTokの公式APIの全体像
TikTokでは、大分すると2種類の公式APIが存在します。
**TikTok for Developers** と **TikTok for Business Developers** です。
この記事ではそれぞれ TikTok API, TikTok Business API とします。

それでは、これらのAPIの全貌を解き明かしていきましょう！

【公式ドキュメント】

TikTok API

https://developers.tiktok.com/

TikTok Business API

https://business-api.tiktok.com/portal

### それぞれのAPIの役割

**TikTok API:**
動画の表示、ユーザー情報の取得、認証プロセスの実装など、基本的な機能を提供します。このAPIを使用することで、TikTokのコンテンツを自身のプラットフォーム(以下、独自アプリ)上で利用することができます。

※ 事前にTikTok for Developers上で独自アプリを登録する必要があるため、ご注意ください。

**TikTok Business API:**
ビジネスアカウントを持つユーザーが、広告キャンペーンの管理、データ分析、コンテンツ管理などの高度な機能にアクセスできるように設計されています。
特に、「ここまで取れるのか！」というレベルの非常に細かいデータを取得できるので、分析機能を実装するときに使いたいAPIです。

※ 事前にTikTok for Business Developers上で独自アプリを登録する必要があります。

以下、TikTok APIと TikTok Business APIの中の細かいAPIについて取り上げます。

### TikTok API
![TikTok for Developers Image](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/895998/68dea2b4-651a-71a2-13a2-48651774ed29.png)

**Login Kit:**
名前の通り、TikTok API全体を利用するためのログインに関するAPIです。

https://developers.tiktok.com/doc/login-kit-overview/

**Share Kit:**
独自アプリからTikTok上に動画を共有するAPIです。
ユーザーのフォトライブラリにアクセスできる必要があるため、iOS, Androidアプリでのみ利用できます。

https://developers.tiktok.com/doc/share-kit-ios-quickstart-v2/

**Content Posting API:**
動画・画像のアップロード、投稿に関するAPIです。
それらのメディアをアップロード、投稿するのに制約があるため、詳しくは公式ドキュメントを参照してください。(ご要望があればまた記事にまとめます)

【動画・画像の制約について】

https://developers.tiktok.com/doc/content-posting-api-media-transfer-guide/

**Data Portability API:**
アカウントの詳細情報を取得するAPIです。
フォロ・フォロワーリストや検索履歴まで、非常に細かいアカウントの情報を取得できます。

かなり細かいユーザーデータまで取得できることもあり、情報提供に関してユーザー認証が必要となります。
その認証処理をこのAPIを通して行います！

取得できるデータの細かい情報は下記の公式ドキュメントを参照してください。

【取得できるデータオブジェクトについて】

https://developers.tiktok.com/doc/data-portability-data-types/

**Display API:**
ログインしているアカウントの情報や所持している動画のリスト・詳細情報を取得するAPIです。

https://developers.tiktok.com/doc/display-api-overview/

**Research API:**
動画・コメント・アカウントの検索ができるAPIです。
TikTokで全体検索できるAPIが他にないため、非常に使いたくなる機能ですが、残念ながら研究用途でしか使うことができません…

https://developers.tiktok.com/doc/about-research-api/

**Commercial Content API:**
広告・広告主を管理するAPIです。
出稿したり、広告の情報を取得したり基本的なことができるAPIですが、残念ながら日本はまだサポートされていないみたいです。(2024/3/1現在)
今後状況が変わると思うので、様子見が必要です。

【サポートしている国について】

https://developers.tiktok.com/doc/commercial-content-api-query-ads/

### TikTok Business API
![TikTok for Business Developers Image](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/895998/ada4bc83-c0a3-cc0a-ebe0-58a742986545.png)

**Marketing API:**
広告や広告アカウントの管理・分析に関するAPIです。
財務残高の管理もできたり、TikTok APIのCommercial Content APIよりもさらに高度な広告の運用を行いたい場合に利用を検討したいです。

https://business-api.tiktok.com/portal/docs?id=1781891416235009

**Account API:**
アカウント・動画だけではなく、動画に紐づくコメントについても管理・分析できるAPIです。
自分のアカウントだけではなく、TikTok上のユニークIDさえわかれば他のアカウントの動画情報も取得できます。

公式ドキュメントに提供API一覧が載っているので、それを見るとできることがわかりやすいです。

【提供API一覧】

https://business-api.tiktok.com/portal/docs?id=1740304387032066

**Creator Marketplace API:**
広告主とクリエイターをつなげるためのAPIで、広告主がクリエイターを起用して、広告動画の作成を依頼・管理できたり、最適なクリエイターを発見しやすくできるデータを提供してくれたりします。
現在、限られた人のみがアクセスできるベータ版みたいなので、触りたい場合はTikTok側に申請が必要みたいです。

https://business-api.tiktok.com/portal/docs?id=1735827019995138

## つまづきポイント

本項では、 TikTok API や　TikTok Business API を調査したときにつまづいたポイントについてまとめたいと思います。

### TikTokアカウントのユニークIDについて

ユニークIDについて、 TikTok API では `open_id` と表現していて、 TikTok Business API では `user_openid`, `business_id` と表現していたりします。
そのため、混乱しやすいのですが、どちらも同じアカウントであれば同じ値になっています。

### Webhookの利用について
下記の公式ドキュメントに記載しているのですが、Webhookによっては利用申請時にコールバックURLをTikTokに渡して手動で登録してもらう必要があります。
申請文章自体は非常に簡素なもので大丈夫なのですが、コールバックURLを変更する際はいちいち申請が必要な状況なので、注意が必要です。

【例: TikTok Business API の Account API Webhook】

https://business-api.tiktok.com/portal/docs?id=1759977800177665

## SNSのAPIに興味があるエンジニアを求む！
株式会社コムニコは、SNSのプロフェッショナル集団が集まったSNSの総合代理店です。
エンジニアチームでは、X(旧Twitter)やFacebook, Instagramに関する3つのプロダクトの開発を行っています！

* SNSのAPIに興味がある
* 成長フェーズの自社プロダクト開発に興味がある
* 歴史の長い自社プロダクトの開発に興味がある
* フルスタックエンジニアのキャリアを築きたい！

そんなエンジニアを大募集しているので、興味のある方はぜひ下記のリンクをポチッとしていただければ幸いです！！
カジュアル面談でお会いしましょう！

https://hrmos.co/pages/lmg/jobs/1675114439462850596