SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

HTML5で作る! 次世代スマートフォンOS「Tizen」アプリケーション

Tizen Device APIやオープンソースライブラリを利用したTizenアプリの実装

HTML5で作る! 次世代スマートフォンOS「Tizen」アプリケーション(3)

  • X ポスト
  • このエントリーをはてなブックマークに追加

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を見ることのできるアプリ」を起動しています。

次のページ
補足:Webフォントの利用

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
HTML5で作る! 次世代スマートフォンOS「Tizen」アプリケーション連載記事一覧

もっと読む

この記事の著者

橋本 悟(ピーシーフェーズ株式会社)(ハシモト サトル)

ピーシーフェーズにて、モバイル向けの各種アプリケーション開発やサーバーサイド開発を担当。主に受託開発を行いながら新規技術の調査開発などにも従事

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7471 2013/11/07 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング