Tizen Device APIやオープンソースライブラリを利用したTizenアプリの実装
HTML5で作る! 次世代スマートフォンOS「Tizen」アプリケーション(3)
-
- Page 5
PINコードによる認可の実装
それでは実装に入っていきましょう。jsOAuthによるTwitterのPINコード認証の実装は、以下のようになります。
//初期化パラメータ
var options = {
//TwitterのAPI情報
requestTokenUrl: "https://api.twitter.com/oauth/request_token",
authorizationUrl: "https://api.twitter.com/oauth/authorize",
accessTokenUrl: "https://api.twitter.com/oauth/access_token",
//Twitterのdeveloperサイトで登録したアプリのkey/secret
consumerKey : **********,
consumerSecret : **********,,
};
//oauthオブジェクトの初期化
var oauth = OAuth(options);
//アクセストークンを取得するためのリクエストを投げる
oauth.fetchRequestToken(function(url) {
//ブラウザで認証画面を表示させる
var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view", url);
tizen.application.launchAppControl(appControl)
//PINコードを入力するダイアログを表示する
var pin = window.prompt("Please enter your PIN", "");
//PINコードを適用する
oauth.setVerifier(pin);
//アクセストークンを取得する
oauth.fetchAccessToken(function(){
//タイムラインを取得する
oauth.getJSON("https://api.twitter.com/1.1/statuses/home_timeline.json",function(e){
console.log(e)
});
});
});
まず、OAuthオブジェクトを初期化するためにTwitterの認可に必要なURLや、Twitterのdeveloperサイトで登録したアプリの情報を設定します。
初期化が済んだら、次に「fetchRequestToken」メソッドでTwitterへ認可のリクエストを投げます。通信が成功すると、ユーザに認可をさせるための認可ページのURLが返されます。このURLをブラウザで表示させ、ユーザにTwitterへのログインとアプリケーションの認可を行ってもらいます。
認可が済んだらPINコードが表示されるので、ユーザはそれをコピーし(Tizenでは文字列のコピーは長押しで行えます)、アプリ画面に戻り(アプリ画面の切替はホームボタンの長押しで行えます)、アプリ内で表示されているダイアログにそのPINコードを貼り付けます。
PINコードを取得したら「setVerifier」メソッドで設定し、「fetchAccessToken」でサーバにアクセストークンを取得しに行きます。
アクセストークンの取得が成功したら、「getJSON」メソッドでTwitter APIにGETアクセスをし、JSONデータをオブジェクトとして取得します。一度アクセストークンを取得できれば、これらのAPIリクエストは繰り返し行うことができます。
また、ブラウザの起動部分で使っている「ApplicationControl」オブジェクトは、Androidでいう暗黙的インテントと同じような動きをします。ここでは「指定したURLを見ることのできるアプリ」を起動しています。
この記事は参考になりましたか?
- HTML5で作る! 次世代スマートフォンOS「Tizen」アプリケーション連載記事一覧
-
- Tizen Device APIやオープンソースライブラリを利用したTizenアプリの実装
- Tizen SDK 2.2の変更点・注意点と、カメラアプリの作例
- Tizenアプリの開発環境構築と実行
- この記事の著者
-
橋本 悟(ピーシーフェーズ株式会社)(ハシモト サトル)
ピーシーフェーズにて、モバイル向けの各種アプリケーション開発やサーバーサイド開発を担当。主に受託開発を行いながら新規技術の調査開発などにも従事
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



