FirebaseのTwitter認証およびTwitterAPIを使ってみた。

FirebaseのTwitter認証およびTwitterAPIを使ってみた。

先日体脂肪率が20%を超えた、技術担当の齋藤です。

1年半前にこの会社に転職してから約10kg太りました。これまでも何度もダイエットをしようと思ったのですが毎度続かず失敗に終わってます。なんと意思が弱いことか…

何かを継続するには以下二つのいずれかが必要だと私は思っています。

  • モチベーション
  • 強制力

今の私の状況はと言うと、現在は特にスポーツをやっている訳でもなく、また海にいく機会もほぼないことからダイエットするモチベーションがほぼありません。なので私には強制力が必要です。そこで強制的にダイエットをさせる何かを作ろうと思いました。

サボると自分の肉体がSNSに晒される

ダイエットをサボると自分の体がSNSに勝手にアップロードされる、という仕組みなら嫌でもやるだろうということでそれを今せっせと作っています。

カレンダー形式で毎日自分の画像をアップして、日にちを指定してBefore -> Afterの比較ができるだけのシンプルなアプリです。ただ数日サボると勝手にTwitterにそれらの画像がアップされる、という仕様です。

その際にTwitterAPIを使ったのでメモがてらブログにまとめておきます。

 

Twitterログインができるところまで実装しておく

今回はFirebaseを使ってTwitterログインし、その時得られたアクセストークンとアクセストークンシークレットを使ってAPIを叩きます。

公式のチュートリを見ながらTwitterログインをするところまで実装します。

iOSでTwitterログインを使用して認証する

 

アクセストークンとアクセストークンシークレットをメモる

上記リンク先から抜粋したものですが、session.authTokensession.authTokenSecret の値をメモってください。

ここからが本題

自分のタイムラインを取得する

javascriptでやってみます。

適当なところにtwitter_api.jsを作ります。

twitterというモジュールが必要なのでインストールします。

$ npm install twitter

そして実行してみます。

ちゃんと取れてきてるみたいです。

 

では次に投稿のAPIを叩いてみます。

何か投稿してみる。

先ほどのタイムライン取得の処理はコメントアウトします。

代わりにpostParamsとpostの処理を新しく追記します。

satatus: "投稿テスト"

のようにstatusというキーに投稿内容のテキストを指定すればいいみたいです。

実行します。

$ node twitter_api.js

ちゃんと「投稿テスト」というテキストで投稿されています。

では次が本当の本題の画像投稿です。

画像を投稿してみる

画像の投稿は若干まわりくどいです。

 

  1. 画像をアップロードする
  2. 画像をアップロードした時に得られるメディアIDを普通のテキスト投稿時に紐づける

という流れになります。

GitHubからの写経です。

https://github.com/desmondmorris/node-twitter/tree/master/examples#media

 

できましたね。

これで「ダイエットをサボったら自動で画像を晒す」という機能ができそうです。

一種のスパムみたいなものなのでAppleの審査が通るかはわかりませんがとりあえず作ってみようと思います。

以上、FirebaseのTwitter認証およびTwitterAPIを使ってみたでした。

2018-07-08T16:10:55+00:00

About the Author:

齋藤大地
取締役。大手Sler出身。三度の飯よりコーディングが好きな人間。得意じゃないイラレやフォトショなどの仕事をしている時は目が死んでいる。使用言語は、Swift、Ruby(Ruby on Rails)、PHP、Javascript、Kotlin(ちょっとだけ)。

Leave A Comment

TWITTER

ご相談ください

 確認ページはございません。内容をご確認の上チェックを入れてください