11
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

twitter APIで遊んでみる #1(環境作り)

Last updated at Posted at 2019-03-06

##Twitter APIを発行する
以下のサイトを参考にAPIのキーを発行しました。
https://4-bh.com/twitter-api/

環境作り

OSはCentOS7を使用しました。今回はpython3でコードを書きます。

ちなみに最初はCentoOS7標準のpython2.7でやっていたのですが、後々エンコード周りでハマってしまいました。python3系なら大丈夫という記事をどこかで見たので、途中からpython3でやることに変更しました。その記事通り、python3系にしたらハマっていた部分でエラーが出ること無くスルリンとうまくいきました。

yum
まずはpip3を使用できるようにします。

$ sudo yum -y install epel-release.noarch
$ sudo yum -y install install python36 python36-devel python36u-pip

またpython3.6python3として使えるようにシンボリックリンクを貼ります。

# python3.6のパスを確認
$ which python3.6
/usr/bin/python3.6

# python3のシンボリックリンク作成
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3

# "python3" と打って正しく動作するか確認
$ python3 --version
Python 3.6.2

pip
必要なpythonモジュールを追加します。
TwitterへのアクセスはOAuth認証を必要とします。

PythonでOAuth認証をするために、今回はRequests-OAuthlibというライブラリを使ってみます。

$ sudo pip3 install requests requests-oauthlib

このライブラリのOAuth1Sessionを使用します。これには以下4つのデータを与えてあげます。

  • Consumer Key
  • Consumer Secret
  • Access Token
  • Access Token Secret

これら4つの取得方法は上記 Twitter APIを発行するのサイトを参考にしてください。

ファイル構成

こんな感じです。

twitter                  # アプリディレクトリ(名前はなんでもいい)
├── config.py            # OAuthの認証情報
├── config.pyc           # 最初はないが、実行すると勝手にできる
└── getTimelineTweet.py  # 次回作成するアプリ

config.py
認証情報を格納しておきます。

CONSUMER_KEY = "********************"
CONSUMER_SECRET = "********************"
ACCESS_TOKEN = "********************"
ACCESS_TOKEN_SECRET = "********************"

終わりに

これで一旦の環境作りは完了です。次回以降、twitterからデータを引っ張ってきて遊んでみようと思います。

11
17
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
11
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?