GoogleログインボタンでHelloWorld!〜Google+SignInButtonのサンプル
節約テクノロジ >
実行サンプル
解説
Google+のSign-in buttonの機能を使ってWebサイトでGoogleのサインインを実現するサンプルです。
Webサービスやアプリを提供する際に、いちいちユーザーのメールやパスワードを登録してもらうのはユーザーにとっても管理的にも煩雑です。
このGoogle+のSign-in buttonを使えば、わずかなコードでユーザーにGoogleにサインインして貰い、IDを取得できるのでそのままWebサービスやアプリのユーザーIDとして使うことができます。
準備
- Google Developers ConsoleにてGoogle+APIをON。OAuth2.0のクライアントIDを取得しOriginsに呼び出し元のサイトURLを設定しておきます。
- span要素のdata-cliendid属性のCLIENT_IDに実際のクライアントIDを記入します。
ソースコード
<script src="https://apis.google.com/js/client:plusone.js"></script>
<script>
function signOut(){
document.getElementById('signinButton').setAttribute('style', 'display: inline');
document.getElementById('signoutButton').setAttribute('style', 'display: none');
gapi.auth.signOut()
document.getElementById('message').innerHTML="サインアウトしました。"
}
function signinCallback(authResult){
if (authResult['status']['signed_in']) {
document.getElementById('signinButton').setAttribute('style', 'display: none');
document.getElementById('signoutButton').setAttribute('style', 'display: inline');
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({
'userId': 'me'
});
request.execute(function(resp) {
document.getElementById('message').innerHTML="Hello! "+resp.displayName+"("+resp.id+")"
});
})
}
}
</script>
<div>
<span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-scope="profile">
</span>
</span>
<input type='button' id='signoutButton' onclick='signOut()' style='display:none' value='サインアウト' ></input>
</div>
<div id='message'></div>
参考リンク
コメント
この記事を見た人がよく読んでいる記事
目次
節約テクノロジ >
- GPSで自分の近くの施設の公式ホームページを一覧 [GPSホームページ探索] v2.0.3
- GPSで近くの高速道路ICから100km以内の最遠出口ICを検索 [GPS高速100km地点IC探索] v1.1.1
- 家や自動車のローン金利だけでもう一つ買える? 元利均等返済ローン金利シミュレーション計算機 [金利計算くん] v1.0.0
- GoogleMaps地図のクリックした場所の高度と住所を調べるWebアプリ[タップ高度君] v1.1.0
- よく行く湯を来店記録[温泉メモリー] v1.0.0
- 今いる場所の過去の気象データを調べるWebアプリ[お天気タイムマシーン] v1.1.0
- よく行く施設やコース毎に積算カロリーをメモ [カロリー貯金箱] v1.0.0
- GoogleEarthにGPXトラックをプロット表示[GoogleEarth GPXViewer] v1.2.0
- GPSで自分の近くのWikipediaページを一覧 [GPS Wikipedia探索] v2.1.1
- バーコードや手動入力で消費賞味期限をメモ[買い置き名人] v1.0.0
- 漫画喫茶で読み終わった巻数をメモ管理 [漫喫バーコードメモ] v1.0.0
- よく行く店を来店記録できるWebアプリ[ランチメモリー] v1.5.1
- エブリィやアトレーなどの軽バンに乗用タイヤを履かせるには Javascriptタイヤ直径計算機 [タイヤサイズ計算機]
- ×km先のゴールに向けて□秒差で○Km/hで走っている先の集団に追いつくには何km/h出せばいいのか[追いつき計算機]
- ハイブリッドのエコカーに買い替えるのは本当に得? 自動車コスト計算機(update13/12/13)
- 最後に美容院に行った日を記録メモ [髪切りメモリー] v1.0.0
- マイナス思考の人は使用禁止。自分の残された時間を知り1秒1秒を大切に使う[寿命時計] v1.0.0
- 売上やカロリーや走行距離など日毎に積算し記録する[シンプル日々積算]v1.0.0
- 木造中古物件の建物価格や減価償却率を簡易計算 [不動産マルチ計算機 一戸建て版]
- 中古マンションの土地建物価格を簡易計算 [不動産マルチ計算機マンション版]
- その労働は何パーセント戻ってくるのか[概算とられる君 作成中] v0.1.0
- 平均合計とグラフ表示対応の間欠ストップウォッチ - NoSplit (iOS/Android)
- Amazon楽天Yahooの最安をその場で検索し欲しい物をメモ[Webバーコード価格比較] v1.6.0
- 今走っている現在地の国道や県道をWikipediaで調べるアプリ [GPS道ペディア] v1.2.0
- 軽量で最適化されたHPスタイル逆ポーランド記法(RPN)電卓 - DeepStack RPN (iOS/Android)
- 地球上で一番シンプルなメッセージングアプリ「YA」
- ホワイトボードとタックメモだけで出来る デペンドToDoリスト(DTD)[+iOS/Android版]
- Amazonや楽天などの通販サイトの価格表示を自分の労働時間で表示 時給換算君v1.1 (140602ChromeWebStore掲載)
- 見ているページの過去や昔の状態をタイムマシン検索する方法(WaybackMachineブックマークレット)
- ブラウザで好きなページのHTMLのtextareaをタブTABキー入力可能モードにするブックマークレット
- 現在のページのタイトルとURLをマークダウンMarkdown書式風のリンクリストにするブックマークレット
- Google Analyticsで自分除外用のCookie生成を簡単に行う方法(ブックマークレット)
- GitHubにJavaScriptファイルを置いて直接Scriptで読み込む方法(GitHub直リンク抽出ブックマークレット)
- 今見ているページのについてのTwitterつぶやき一覧を表示するブックマークレット(公式利用版)
- JavaScriptでブックマークレットbookmarkletなどを作る時に便利なスニペットSnippet集v1.0
- MacOS Xのターミナルから一発でWolframAlphaを開くスクリプト
- 自分の残された時間を知る寿命時計のbashシェルスクリプト版
- MacOS X Mountain Lion/Mavericksの通知をコマンドラインから出す方法
- クロスドメインXMLHttpRequestを実現するnode.js/expressプロキシ
- node.jsでブログにトラックバックを送信するモジュール
- 指定したURLのGPXファイルのトラックログと高度グラフを表示するJQueryプラグイン
- CSSを使わずにHTMLのIMGタグのALT要素を画像に並べて表示する方法(+jQueryプラグイン)
- iPhoneのSiri音声入力での記号入力方法をまとめてみた(2014/11/10更新)
- BitCoinの仕組みを紙とスタンプのごっこ遊びに例えてみる(2015/3改訂版)
- Javascript正規表現クックシート(よく使うサンプル集)2014/11/13更新
- Google ChromeでHTTP Headerを表示するには
- iPhone/iPad等iOSに自己署名オレオレCA証明書からサーバー/クライアント証明書を署名しインストールする
- Markdownクックシート(よく使うサンプル集)
- Garmin eTrexシリーズのGPSログをMacOSでUSB経由でダウンロードするには
- SVGクックシート(よく使うサンプル集)
- 定規とコンパスだけで足し引き掛け割りの四則演算をする(数学の思考パーツ集)
- しょうがくせい向けRSA暗号の仕組み
- ユークリッド互除法をつかいRSA暗号で秘密鍵と公開鍵のペアを求める方法
- しょうがくせい向けDiffie-Hellman(ディフィー・ヘルマン/DH)共通鍵交換方式のしくみ
- しょうがくせい向けハミング符号のしくみ
- MacOSXターミナルのシェルスクリプトからSafariやChromeのWebページのボタンを自動的に押す方法
- glibcで見つかった致命的な脆弱性「GHOST」は具体的になにが問題なのか
- HTTPS SSL3.0のPOODLE脆弱性の仕組み(PaddingOracle攻撃の具体例)
- ChromecastでHelloWorld!(任意のURLのMP4を再生)
- PayPal APIでHello World!10分で作るnode.js寄付サイト
- クレジットカード課金の寄付サイトを10分で作る Google In App Payments APIとJWTのサンプル
- たった26行でiPhone用のQRコード/JANバーコードを読み取るHTML/JavaScriptWebアプリを書く
- GCMとTitaniumとnode.jsでHelloWorld! (GoogleCloudMessaging for Androidのサンプルコード)
- APNSとTitaniumとnode.jsでHelloWorld!(たった43行でプッシュ通知を動作させるサンプル)
- node.jsでフォームからAmazonS3へ画像ファイルをアップロードする29行
- 明日が晴れならiPhoneに通知をする方法(IFTTTのかんたんチュートリアル)
- USBGPSドングルGT-730FとThree.jsを使った表示デモ
- Three.jsでHelloWorld〜18行で書けるiOS対応3Dプログラム
- Twitterのリストを削除できない・メンバー追加出来ない問題時の対処方法
- App Storeの審査でIn Reviewが長いまま1週間以上放置しておいた話
- GoogleComputeEngineとAmazonEC2の最低料金比較(常時稼働の低スペックWebサーバーを想定)2014/3値下げ発表対応
- プログラミング言語ランキングを比較する
- GoogleのMobileBookmarkBubbleでバルーンが出なくなった時にリセットする方法
- 5を掛けたり5で割る計算が驚くほど簡単に暗算できる速算法「五算術」
- IngressのIntelMapでレゾネータの数を表示するIITCプラグイン(実験中)
- 手持ちの割引クーポンの使用期限をメモできるWebアプリ[クーポン管理君] v1.0.0
- Titanium iOSシミュレーターで言語が日本語にならない場合の対処方法
- PCブラウザ用 矢印と単語だけのシンプルな図形メモ[WordsAndArrows] v1.0.0
- CasperJSがMacOSXとフレッツ光で不安定な時にある設定で治った話
- GNU makeは最強の並列スクリプト言語。ビルドだけではもったいない