見出し画像

Twitter APIを利用してTweetしてみよう~「Elevated」の申請も含めて~

 皆さん、こんにちは!今回は、Twitter APIを利用して、PythonからTweetしてみようというお話です。最初にすることは、Twitterアプリの登録とTwitter APIの利用申請(初期設定みたいなもの)です。下記記事を参考にして登録と申請をしてください。

Tweepyのインストール

 では、いよいよPythonでTweetしてみましょう!使用するパッケージはTweepyです。Anaconda環境でTweepyのパッケージを使用する場合は、標準のパッケージには入っていないので、個別にインストールする必要があります。pipコマンドでインストールするのが簡単かなと思いますので、下記記事を参考にインストールしてください。

開発者アカウントを「Elevated」にする

 では、Tweepyもインストールしたので、改めてTweetしてみましょう!っといいたいところですが、実はこの状態のままでは、下記エラーが発生してしまいます。。

453 - You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve

 内容は、Twitter API v1 と v2の両方を利用するときは、開発者アカウントが「Elevated」である必要があるということです。この原因は、Tweepyを使用するときにv1とv2のAPIが混在しているからなのかもしれません(よくわからないです)。そこで、開発者アカウントを「Elevated」にするために、下記サイトから利用申請をしましょう。

https://developer.twitter.com/en/portal/products/elevated

画像1

 「Apply for Elevated」をクリックして進めていきましょう。

画像2

 「名前」「国名」を入力(デフォルトで入っていると思います)して、「現在のコーディングスキルレベル」を選択して、次へお進みください。

  ここからは、いくつか英語で質問がされるので、英語で回答していきます。

画像3

How will you use the Twitter API or Twitter Data?
【和訳】
Twitter APIやTwitterデータの使用方法を入力してください。
※詳細に回答すると、申請が通りやすくなるそうです。

 入力したら、次へお進みください。

画像4

Please describe how you will analyze Twitter data including any analysis of Tweets or Twitter users.
【和訳】
TweetやTwitterユーザーの分析を含め、Twitterデータを分析する方法を説明してください。

 入力したら、次へお進みください。

画像5

Will you App use Tweet, Retweet, Like, Follow, or Direct Message functionality?
Please describe your planned use of these features.
【和訳】
アプリはTweetやRetweet、いいね、フォロー、ダイレクトメッセージ機能を使用しますか?
これらの機能の使用予定について説明してください。

 入力したら、次へお進みください。

画像6

Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?
Please describe how and where Tweets and/or data about Twitter content will be displayed outside of Twitter.
【和訳】
Twitter以外のTwitterコンテンツに関するTweetや集計データを表示する予定はありますか?
Twitterのコンテンツに関するTweetやデータがTwitterの外部に表示される方法と場所を説明してください。

 入力したら、次へお進みください。ちなみに、私は「No」を選択したので、入力しませんでした。

画像7

Will you product, service, or analysis make Twitter content or derived information available to a government entity?
Please list all government entities you intend to provide Twitter content or derived information to under this use case.
【和訳】
製品やサービス、分析により、Twitterコンテンツや派生情報を政府機関が利用できるようにしますか?
このユースケースでTwitterコンテンツや派生情報を提供する予定のすべての政府機関をリストしてください。

 入力したら、次へお進みください。こちらも、私は「No」を選択したので、入力しませんでした。

 あとは、「Next」「Next」「Submit」とクリックしていけば、申請完了です。

PythonからTweetしてみる

 それでは、お待ちかねのPythonからのTweetを試してみましょう!

import tweepy #Twitter用パッケージのインポート

consumer_key = 'AAAAAAAAAAAAAAAAAAAA' # Consumer Keyを記載
consumer_secret = 'BBBBBBBBBBBBBBBBBBBB' # Consumer Secretを記載
access_token = 'CCCCCCCCCCCCCCCCCCCC' # Access Tokenを記載
access_secret = 'DDDDDDDDDDDDDDDDDDDD' # Accesss Token Secertを記載

# Twiiter APIの認証処理
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

# Tweet
api.update_status('はじめてのTweetだよ!')

 上記Pythonコードを「Tweet.py」などで保存して、実行してください。

 それでは、コードの内容を説明していきます。

import tweepy #Twitter用パッケージのインポート

 Twitter用パッケージ「Tweepy」をインポートして、Twitter APIを使えるようにします。

consumer_key = 'AAAAAAAAAAAAAAAAAAAA' # Consumer Keyを記載
consumer_secret = 'BBBBBBBBBBBBBBBBBBBB' # Consumer Secretを記載
access_token = 'CCCCCCCCCCCCCCCCCCCC' # Access Tokenを記載
access_secret = 'DDDDDDDDDDDDDDDDDDDD' # Accesss Token Secertを記載

 API Key、API Secret Key、Access Token、Access Token Secretを各々の変数consumer_key、consumer_secret、access_token、access_token_secretに代入します。
 API Key、API Secret Key、Access Token、Access Token Secretは下記画像の通り、「Developer Portal」→「Projects & Apps」→「Project 1」→「名前」→「Keys and tokens」の「Consumer Keys」→「API Key and Secret」と「Authentication Tokens」→「Access Token and Secret」から取得できます。

19_開発者アカウント - コピー

# Twiiter APIの認証処理
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

 Twitter APIが使えるように、APIの認証処理をします。

# Tweet
api.update_status('はじめてのTweetだよ!')

 登録したTwitterアプリにTweetします。

 それでは、実行結果を見てみましょう!

画像8

 無事にTweetできました!!

 いかがでしたか?Twitterアプリの登録、Twitter APIの利用申請、そして開発者アカウントの「Elevated」申請と、Tweetするまでの道のりはちょっと遠かったかもしれません。でも、実際にPythonからTweetができると、プログラミングが一層楽しくなりますね!Twitterによるデータ分析に、一歩近づけたと思います。
 「Twitter APIを通してこんなプログラミングしてみたよ」など、何かチャレンジしてみたことがあったら、ぜひコメントで教えてくださいね。では、また次回!!

 この記事へのコメントお待しています!また、もしこの記事が「面白かったよ!」「参考になったよ!」など、何かしらお役に立ったら、♡をポチっと押して応援していただけたら嬉しいです。さらに、フォローもしていただけたら、大変励みになります!よろしくお願いしますね。

                            文責:nayuta

この記事が気に入ったらサポートをしてみませんか?