Twitter アプリ
ここでは、Twitter 上でのOAuthを利用したシングルサインオン ( Single Sign-On/SSO ) の方法を解説します。 シングルサインオンには、InAppBrowser プラグインと、サードパーティ製 advanced-http プラグイン を使用し、また、OAuthに必要なシグネチャは oauth-signature ライブラリ を利用します。
認証成功後、ユーザーの基本情報をアプリ上に表示したり、ツイートを投稿することが出来ます。
デモ
テスト環境
Android 11.0
iOS 14.3

事前準備
Twitter の Consumer Key と Consumer Secret の確認方法
TwitterAPIを利用するためには、デベロッパーアカウントの登録が必要となります。 Twitter Developer Account よりデベロッパーアカウントを登録します。
次に、『 Twitter Developer Portal 』ページ上で、アプリを登録し、Consumer Key (API key ) と Consumer Secret (API secret key) 、Bearer token を発行します。
Twitter Developer Portal の概要ページ へ移動します。
Standalone Appsを、画面下部のCreate Appボタンより作成します。 (Standalone Appsを作成する代わりに、Projects配下にAppsを作成でも構いません)Name ( アプリ名 )、Description ( アプリの説明 )、Website ( アプリのダウンロード元となる URL )を入力します。(※ アプリ名には、すでに利用されている名前は利用できません。また、1日あたりに作成出来るアプリ数には、上限があります。)
「Callback URL」(任意:認証成功後に表示されるページ。)を入力します。 今回のサンプルアプリでは、
mymonacaapp://と設定します。適時、自分のアプリ用のものに変更してください。 なお、このCallback URLはアプリの実装時にも必要になります。Settingsタブを選択して、App permissionsから、Read and Write権限を許可します。アプリからツイートを行わない場合は、Read権限のみ許可します。Settingsタブを選択して、Authenticationから、3-legged OAuthを有効にします。
プラグインのインポート
シングルサインオンを実現させるため、InAppBrowser プラグインと サードパーティ製 advanced-http プラグイン を使用します。 また、OAuthに必要なシグネチャを作成するために oauth-signatureライブラリを使用します。
Monaca クラウド IDE から
設定 → Cordova プラグインの管理を選択します。InAppBrowserプラグインを有効にします。

3. ボタン「Cordovaプラグインのインポート」をクリックして、「URLもしくはパッケージ名を指定します」にチェックをし、パッケージ名に cordova-plugin-advanced-http を入力し、OKボタンをクリックします。
JSコンポーネントのインポート
Monaca クラウド IDE から
設定 → JS/CSSコンポーネントの追加と削除を選択します。コンポーネントの検索フォームに
oauth-signature-jsと入力して検索。検索結果からoauth-signature-jsをインストールします。その後、読み込み対象の選択にて、components/oauth-signature-js/dist/oauth-signature.jsを選択し、保存します。 なお、oauth-signature.jsライブラリは、 BSD-3-Clause であるので、アプリのソースコード、バイナリコードの配布を行う場合はご注意下さい。
アプリの解説
ファイル構成

ファイル
説明
index.html
アプリ画面のページ
css/style.css
アプリのスタイルシート
js/app.js
アプリの実行時にさまざまな処理を行う JavaScript ファイル
HTML の解説
index.html
アプリ画面となるページです。
このページは、大きく3つのブロックに分かれています。それぞれのブロックは、 <hr> タグにより区切られています
ログイン ブロック:
Twitterログイン画面に移行するボタンと、ログイン後にユーザーID、ユーザー名(スクリーン名)を表示するコンポーネントがあります。
プロフィール ブロック:
ログインユーザーのプロフィールを取得するボタンと、取得成功後にそれを表示するコンポーネントがあります。
ツイート ブロック:
テキストエリアと、ツイートするボタンがあります。
JavaScript の解説
app.js
ファイルの最初3行で、事前準備で取得した APIキー(コンシューマキー)、APIキーシークレット(コンシューマシクレット)、コールバックURLを設定します。
Connectボタンをタップすると認証画面が表示されます。
ログイン成功後、アクセストークンとユーザーIDを変数 model に保持します。 今回のサンプルアプリでは、ログアウト機能はないため、ログイン状態を解除するには、アプリをタスクからkillすることが必要です。
次に Show Me ボタンをタップすると、ログインしたユーザー情報と、アイコンが表示されます。 さらに、Send Tweet ボタンをタップすると、テキストフォームに入力したメッセージが、Twitterへ投稿されます。
最終更新
役に立ちましたか?
