tweepyのdjangoでの使い方。ユーザーに認証させる。

これは2020年12月25日現在の記事です。

今、僕はあるマッチングアプリのようなものを作っていてプラットフォーム型のアプリなのだけどついこの間herokuでデプロイしてみたらherokuは画像のアップロードに対応していないことが判明。

ユーザーに画像をアップロードさせてそれをプロフィール画像として使おうとしていたので困った。で、解決策としてTwitter認証をユーザーにさせてユーザーのツイッターからプロフィール画像を引っ張ってくることにした。

色々tweepyの使い方をググったのだけどプラットフォームを利用するユーザーに認証させる方法はいまいち見つからなかったので、このnoteにはその方法を書きます。

※使い方を調べるためにquiitaなどの記事をしらみつぶしに探しましたが見つからず結局英語のドキュメントを読み込む羽目になりますた。tweepyの使い方がわからず困ってる方はぜひ買っていただきたいです。もしこれをみて実装できなければ、返金もできるよう設定してます。


まずtweepyを使えるようにする

インストール

pip install tweepy

これでtweepyをインポートできます。

settings.pyにはAPI keyとsecret keyを用意しておいてください。

SOCIAL_AUTH_TWITTER_KEY = 'your API key'
SOCIAL_AUTH_TWITTER_SECRET = 'your secret key'

こんな感じ。キーはtwitterのdepeloperサイトの左上のトグルからDeveloper Portalに入れば見つかると思います。

views.pyの頭にOAuthHandlerを用意しておきましょう。認証してもらう際に使います。

import tweepy
from django.conf import settings

consumer_key = settings.SOCIAL_AUTH_TWITTER_KEY
consumer_secret = settings.SOCIAL_AUTH_TWITTER_SECRET

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

tweepyでユーザーに認証させる仕組み

twitter APIを利用するには

・twiiterからの許可と

・「APIで私にアクセスしても良いですよ」と言うアクセスユーザーからの許可

が必要です。前者がさっきsettings.pyに用意した二つのキーで、後者がいわゆるアクセスキーです。今回欲しいアクセスキーはプラットフォームにアクセスして来たユーザーのものになります。

ここから先は

2,722字 / 1画像

¥ 1,000

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