2022年最新ガイド Twitter API key と Access token の取得とテスト

この記事について本日はtwitter関連のアプリ作りに必要なAPIとアクセストークンの取得を解説。
アプリ開発に使うTwitter API v2を取得するためには審査が必要です。
特別難しいことはありませんのでじっくり手順通りに進めていってください。
ちなみにTwitter API v2のAPIとTokenでtweepyを使ってコードを組んでも「tweepy.errors.Forbidden: 403 Forbidden」が出てエラーになるため注意してください。
代替テキスト

プログラムが組めたらラズベリーパイでもサーバー上でも好きな場所で動かしてみてください。

Xserver SSH接続の設定とAnaconda3のインストール

取得とテスト

tweepyインストール

テストのためにとりあえずよく使いそうなライブラリをインストールしておきましょう。
pip install tweepy

インストールエラーが出る場合

M1 Macを使用している方はインストールエラーが出る場合があります。

この場合はGitから直接インストールすることで解決します。

pip uninstall tweepy
pip install git+https://github.com/tweepy/tweepy.git

pprintをインストール

pip install pprintpp

scheduleをインストール

pip install schedule

APIキーの取得

Twitterにログインした状態でデベロッパーサイトに移動します。

Twitterデベロッパーサイト

ここでアプリを作成をクリック。

このあとニックネームと住んでいる国と目的と政府機関で使用するかどうかが尋ねられます。
それぞれ正確に答えてNextをクリックすると、ポリシーの同意画面に移動。
同意できるのであればこのまま進めてください。

同意できたら認証メールが届きますので認証してください。

アプリ名を決めてKeyをゲットしましょう。

複数アカウントを運営している方は、アカウントごとに取得してください。
注意keyは一度しか見れませんのでコピーして適切に保管してください。
(再生成は可能です。)
人気家具のサブスク【subsclife(サブスクライフ)】

Access token・Access token secretの取得

アプリ名ができたら左側のダッシュボードからプロジェクト&アプリ、プロジェクトが出たらKeys and tokensタブをクリックしてください。

注意keyは一度しか見れませんのでコピーして適切に保管してください。
再生成は可能ですが、再生成すると以前のKeyは無効になります。

APIの有効化【重要です】

tweepy.errors.Forbidden: 403 Forbidden

ポイントせっかちな筆者は各種Keyを取得してそのままAPIテストしており、tweepy.errors.Forbidden: 403 Forbiddenが連発して困り果てていました。
authenticationしないと各種Keyが反応しないので忘れないようにしましょう。
Set upから進みます。
      
  1. 左側「Project & Apps」から、開発中の「アプリ名」を選択
  2.   
  3. User Authentication settingsの「Set up」をクリック

すると画面が進みますのでセットアップしてください。

OAuth 2.0 / OAuth 1.0a

どちらもOnでOKです。
Twitter API v1では上のOAuth 2.0は使いませんので、オンでもオフでもどちらでもOK。

Type App 選択

Automated App or BotにしておけばOKです。
Request email from users (optional)は「ON/OFF」どちらでもOKです。

App permissions の選択

特にこだわりがなければRead and Writeを選択。
その後APIを使う予定のサイトなどの登録がありますが、特になければ「https://twitter.com/」で埋めていけばOKです。
ポイントTwitter API v2の審査の際は審査内容に影響が出る可能性があります。

これで先ほど取得したAPIキーが有効化されました。

最後に有効化されてるかどうかのテストを行っておきましょう。

★APIの有効化チェック〜Tweetしてみる(Twitter API v2)★

Twitter API v2でのテストコードになります。

2022年2月時点で審査なしで取得できるAPIキーはTwitter API v2になっており、tweepy.Clientを使用します。

Twitter APIv2の公式リファレンスはこちらから

tweepy.errors.Forbidden: 403 Forbidden で困っている方

ネットでググってヒットする多くの記事は審査あり発行のTwitter APIv1.1を元にサンプルコードがかかれており、tweepy.Clientではなくtweepy.APIを使用しているため注意が必要です。

ポイント世界中に落ちているサンプルコードを使うためにはTwitter APIv1.1を取得してください。
審査なしで取得できるTwitter API v2のみでテストしている場合tweepy.APIを使用すると tweepy.errors.Forbidden: 403 Forbidden のエラーコードが表示されるはずです。

サンプルコード1

import tweepy
# 各種キー
ck = "ここに埋める"
cs = "ここに埋める"
at = "ここに埋める"
ats = "ここに埋める"
# 「Twitter APIv1.1の認証〜英訳あり」を済ませてない方はtweepy.Clientを使うので注意。
client = tweepy.Client(consumer_key=ck, consumer_secret=cs, access_token=at, access_token_secret=ats)
client.create_tweet(text="ここにTweetしたい文章を入れる。")

サンプルコード2

import tweepy
from pprint import pprint
# 各種キー
BEARER_TOKEN        = "ここに埋める"
API_KEY             = "ここに埋める"
API_SECRET          = "ここに埋める"
ACCESS_TOKEN        = "ここに埋める"
ACCESS_TOKEN_SECRET = "ここに埋める"
# 関数
# 「Twitter APIv1.1の認証〜英訳あり」を済ませてない方はtweepy.Clientを使うので注意。
def ClientInfo():
    client = tweepy.Client(bearer_token    = BEARER_TOKEN,
                           consumer_key    = API_KEY,
                           consumer_secret = API_SECRET,
                           access_token    = ACCESS_TOKEN,
                           access_token_secret = ACCESS_TOKEN_SECRET,
                          )
    return client
# Tweet内容を定義
message = "Hello World"
# 関数
def CreateTweet(message):
    tweet = ClientInfo().create_tweet(text=message)
    return tweet
# 結果
pprint(CreateTweet(message))
APIが通っていればこれでTweet完了です。

Twitter APIv1.1の申請〜コピペ

認証方法Twitter APIv1.1の審査に通ると、Twitter API v1.1 Referenceを使えるのでできる範囲が広がります。

左側画面のProductsから、Twitter API を選択し、Elevatedを選択。

すると審査申請画面に移れますので項目を埋めていってください。

基本的にすべて英語ですが、英訳しておくので埋めていってください。

ポイントTwitter API v2以前からAPIを使ってるアカウントであれば自動的にElevatedが使えます。

情報を埋める

基本的にKey取得時と同じですがメモしておきます。

What would you like us to call you?→名前を入れてください。

What country do you live in?→あなたの国はどこ?

What’s your current coding skill level?→あなたのコーディングスキルはどれくらいのレベルですか?

      
  1. No experience→経験なし
  2.   
  3. Some experience→ちょっとできる
  4.   
  5. Highly experience→すごくできる

Get the latest Twitter API news→twitter APIに関する最新の情報を受け取りたいですか?

コーディングレベルはアンケートのような感覚でオッケーです。

英文での質問と回答例

次に英語で質問されますので英語の文章で記入しなければいけません。

質問1

In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve.
twitterのデータとかAPIで取得して何をする予定ですか?
詳細に書いてくれたら承認もスムーズになります。
# 以下をコピペ
Programming Manages the website related to. Using the WordPress plugin with the Twitter API, you can use Twitter to send the latest information on the website to many people and plan not only to attract customers, but also to tweet tweets that many people like and retweet This is to analyze and transmit more useful information.

質問2

Are you planning to analyze Twitter data?
データ分析等で使う予定はありますか?
# 以下をコピペ
This is to extract a list of profile users who use the specified keyword, including tweets from prospective customers and other companies in the same industry who are tweeting with the specified keyword.

質問3

Will your app use Tweet, Retweet, like, follow, or Direct Message functionality? Please describe your planned use of these features.
あなたのアプリではツイート、リツイート、いいね、フォロー、ダイレクトメッセージの機能を使用しますか?
使用する場合これらの機能のについて説明してください。
# 以下をコピペ
Use analytics tools to use the likes, retweets, and replies of your account's tweets to improve tweet submission times and content.

質問4

Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?
Twitter以外のTwitterコンテンツに関するツイートや集計データを表示する予定はありますか?
# コピペ
In order to enhance the content of the website under operation, we sometimes attach tweets and data disclosure images.

質問5

Will your product, service, or analysis make Twitter content or derived information available to a government entity?
あなたの製品、サービス、または分析により、Twitterのコンテンツまたは派生情報を政府機関が利用できるようになりますか?

特になければNoでOK。

メモこの後次に進み、規約を読み、同意できたらそのまま同意し、申請してください。

データ解析などに関しては特に予定がないからや、面倒だからということでNoを選択すると審査に通りませんのでご注意ください。

こちらの記事もいかがですか?
プログラミングやテクノロジーに関する記事をまとめています!

icon image
当スタジオでのアクセスNO1!
Google検索ランキングで1位獲得実績ありの人気記事!
M1 Mac以降の Python 環境構築 [完全保存版] ほぼ英語クラスの馴染みやすさが人気のPythonの全体像をほぼ1記事で理解できるのはこれ! まずはこれだけ Python基礎からサンプルプログラム いつもチェックする日課の記事やサイト、ページなどがあればセレニウムを使用してかなり細かく動作を自動化することができます。 Seleniumを使ってGoogle検索 ~ サイトの巡回までをプログラム Xサーバーをモデルにしています。
APIで自動トレードシステムなんかを構築したい場合は24時間働き続けてくれるスタイルが必須ですよね。
Xserver SSH接続の設定とAnaconda3のインストール
ポイント当サイトもエックスサーバーで構築しています。
速度が早いのと対応も丁寧で老舗なのでおすすめのサーバーの一つです。
サーバーをこれから開設する方は是非VPNも契約しておきましょう。
レンタルサーバー エックスサーバー これからは脱グローバルと宇宙の時代。。。と筆者は考えています。
日本のGPS衛星の技術はかなり高いのをご存知でしたか?!
誰でも無料で使える衛星電波、使わなきゃ損ですよね。
Python GPS関連の開発環境 & Google MAP APIを取得 コンパイル言語も忘れないで!
少し知っているだけで見える世界が全然変わってきます。
【環境構築】Rust M1 Mac / コンパイル言語

Kotaro
Kotaro
服部 洸太郎
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、介護で使えるプログラムをM5Stackを使って自作。
株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにてアルゼンチンタンゴをはじめとした民族音楽に関する文化の研究、ピアノ音響、さらに432hz周波数を使った癒しのサウンドを研究中。
2022年9月より豊かな暮らしをテーマとしたウェブサイト『レンタルdeクラセル』も発信中〜