LoginSignup
1
1

More than 1 year has passed since last update.

2022年11月版:爆速でTwitter APIを利用してつぶやき投稿したい人の為の流れまとめ

Last updated at Posted at 2022-11-25

経緯

現在開発中の個人アプリでTwitter APIを利用しようしたらネットに転がっている情報がやたら古かったり、錯綜気味(個人的解釈です)でTweet投稿までに若干手こずったので備忘録的に放流しておきます。

どのように

前提

目標

Hello Worldをツイートする

実装

1. 認証情報の準備

現在TwitterからAPIを利用する為に、3種類の認証情報が提供されている。今回の目標であるツイートを投稿までに利用するのは以下の情報の4つ。

  • Consumer Keys
    • API KEY
    • API KEY SECRET
  • Authentication Tokens
    • Access Token
    • Access Token Secret

これら情報は、ダッシュボードのプロジェクト、Keys and tokensタブから確認することができます。
Screenshot 2022-11-25 at 21.44.05.png

Authentication Tokensの一覧にBearerTokenという項目が存在するが、このトークンは読み込み専用でツイート(書き込み)を実行しても"Your credentials do not allow access to this resource."と返ってきてツイートできないので注意。

2. 権限の設定

APIを通じてtweetをするには発行されているAccess Tokenに書き込み権限が付与されていないといけない。現在の権限は、Access Token and Secretの下の方に小さく書かれている。
Read And Writeになっていると読み書きできる。

開発者アカウントを作ったばかりだとReadのみになっていると思われる。
Screenshot 2022-11-25 at 21.46.13.png

Read And Writeで権限が適切に設定されている方は以下の手順をスキップ。

書き込み権限を取得するには、Keys and tokensタブの隣のSettings->User authentication settingsのEditから行う。
Screenshot 2022-11-25 at 21.58.45.png

今回行った設定は、以下イメージ通り(requiredのみの変更 + urlは変更してます。
Screenshot 2022-11-25 at 22.00.25.png
Screenshot 2022-11-25 at 22.00.50.png

下ごしらえ中に使えるCallback URIとWebsite Urlがない場合、適当なURLでも入力しておいて必要になったら修正しておきましょう。

3. ツイートしてみる

import { TwitterApi } from "twitter-api-v2";

// consumer keys - api key
const appKey = "hogehoge";
// consumer keys - api key secret
const appSecret = "hogehoge";
const accessToken = "hogehoge";
const accessSecret = "hogehoge";

const client = new TwitterApi({
  appKey,
  appSecret,
  accessToken,
  accessSecret,
});

client.readWrite;

const greet = async () => {
  await client.v2.tweet("Hello World");
};

greet();

twitter-api-v2ではconsumer keysのApi KeyとSecretがappKeyとappSecretとなっていて、若干脳のバグを引き起こすので注意。

Screenshot 2022-11-25 at 22.25.25.png

はい。完成。

まとめ

2022年11月、投稿日時点でのTwitter APIでツイートするまでまとめでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1