*当サイトはプロモーション広告が含まれます

Threads APIの使い方

使い方・対処法

Threads APIの提供が始まり、実際に使ってみましたので使い方をまとめておこうと思います

リクエストを処理できませんでした - Meta for Developers

Threads APIを始める事前準備

APIを使うためには、諸々の準備が必要です

リクエストを処理できませんでした - Meta for Developers

Meta for Developerへの登録

以下のドキュメントをもとに登録しましょう

リクエストを処理できませんでした - Meta for Developers

[アカウント作成画面]

Meta Appの作成

次に以下のドキュメントをもとにThreads APIにアクセスするためのアプリを作成します

リクエストを処理できませんでした - Meta for Developers

アプリの作成は以下リンクから可能です

リクエストを処理できませんでした - Meta for Developers

[マイアプリ画面]

アプリ作成後はダッシュボード画面に移ります

アクセストークンの入手

以下のドキュメントに入手方法が記載されているのですが、認証ウィンドウでのトークンの入手時にエラーが発生し、入手できなかったため別の方法を利用します

リクエストを処理できませんでした - Meta for Developers

その別の方法が「ユーザートークン生成ツール」です

ユースケース > カスタマイズ > 設定

の場所にツールがあります

まずは「Threadsテスターを追加または削除」をクリック

メンバーを追加」の青いボタンをクリック

メンバーの役割を選択できるので「Threadsテスター」を選択し、API利用の対象となるThreadsアカウントのユーザネームを入力します

入力が完了したら「追加」をクリック

すると、該当のユーザが「承認待ち」というステータスになります

これを承認するために、Threadsで対象アカウントにログインし、設定 > アカウント へ移動

Webサイトのアクセス許可」をクリックします

先ほど作成したMeta Appから招待が来ているので「同意する」をクリック

再度権限管理の画面に戻ると、「承認待ち」のステータスが消えて、トークンを取得できる状態になりました

「ユーザートークン生成ツール」に戻ると、追加したThreadsアカウントに「アクセストークンを生成」のアクションが追加されています

アクセストークンを生成」をクリックすると、アクセス許可のウィンドウが開くので「〇〇として続行」をクリック

トークンが生成されるので大事に保存しておきましょう

アクセストークンが取得できたら、Threads APIを使うための準備は完了です!

Threads APIの使い方

後はドキュメントを参考に、APIを実行していきます

リクエストを処理できませんでした - Meta for Developers

個人用に作成したPythonのAPIクライアントをGitHubで公開しているので良ければ参考にしてみれください

GitHub - amatyrain/threads-client
Contribute to amatyrain/threads-client development by creating an account on GitHub.

Threadsへのポスト

リクエストを処理できませんでした - Meta for Developers

ポストするには以下の2ステップが必要です

  • メディアコンテナの作成
  • メディアコンテナの公開

メディアコンテナの作成

POST /{threads-user-id}/threads もしくは /me/threads 

こちらのエンドポイントを使います

[リクエスト例]

curl -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <取得したアクセストークン>' \
    'https://graph.threads.net/v1.0/me/threads' \
    -d '{
        text: "Hello, World!",
        media_type: "TEXT"
    }'

ちなみに、ドキュメントのリクエスト例だとPOSTなのに何故かクエリパラメータでデータを送っていて、無心で例のままcurlを投げるとエラーになるという罠があります笑

[レスポンス例]

{"id":"111111111111"}

これでメディアコンテナが作成され、そのメディアコンテナIDがわかりました

メディアコンテナの公開

POST /{threads-user-id}/threads_publish もしくは /me/threads_publish 

こちらのエンドポイントを使います

[リクエスト例]

curl -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <取得したアクセストークン>' \
    'https://graph.threads.net/v1.0/me/threads_publish' \
    -d '{
        creation_id: "<取得したメディアコンテナID>",
    }'

[レスポンス例]

{"id":"22222222222"}                                                                                                              

メディコンテナが公開され、Threadsを確認すると「Hello, World!」と投稿されたことが確認できると思います
レスポンスに返ってくるのはメディアIDというもので、投稿情報を取得するために必要な情報になります。

Q&A

Threads APIに制限はある?

Threadsへ投稿するための/me/threads_publish には1日当たり250リクエストという制限があります

その他の制限については以下のドキュメントをご参考ください

リクエストを処理できませんでした - Meta for Developers

コメント

タイトルとURLをコピーしました