Gmail認証 -ログイン編-【FuelPHP】

Gmailを使ってGoogle認証APIでログインを実装する方法です。 前提としてGoogle APIsコンソール(以下URL)からサービスキーを発行します。 https://console.developers.google.com/apis/dashboard ※なお今回FuelPHPを使って実装していますが、フレームワークの特別な機能は特に使用していません。 ざっくりとしたサービスキー発行手順 Google APIsコンソールの左側メニュー → 認証情報 → 認証情報を作成 → OAuth クライアント ID 必要項目を入力名前:任意のアプリケーション名を入力承認済みの JavaScript 生成元:今回は使用しない承認済みのリダイレクト URI:認証後にGoogleからコールバックされるエンドポイント 保存ボタンで client_id と client_secret が発行される ※OAuth同意画面でアプリケーションのスコープを指定することができる。これを内部にすると、組織内のGmailアカウントに限定されるので、社内システムなどではチェックすると良い。 Google Api Key設定ファイル fuel/app/config/test/apikeys.php <?php /** * Google API Keys */ return array( 'client_id' =>…

続きを読む

【git】forkしたブランチに本家のmasterブランチの更新を反映する

Git forkしたリポジトリで作業をしている時、本家のmasterブランチの修正を取り込む手順です。 現状を確認(1) $ git remote -v origin https://github.com/[リポジトリ] (fetch) origin https://github.com/[リポジトリ] (push) 更新用のリポジトリ(upstream)を作成する $ git remote add upstream [fork元リポジトリ] 現状を確認(2) $ git remote -v origin https://github.com/[リポジトリ] (fetch) origin https://github.com/[リポジトリ] (push) upstream https://github.com/[fork元リポジトリ] (fetch) upstream [fork元リポジトリ] (push) upstreamをフェッチする $ git fetch upstream remote: Enumerating objects: 10, done. remote: Counting objects: 100% (10/10), done. remote: Compressing objects: 100% (10/10), done. remote: Total 10 (delta 0), reused 4 (…

続きを読む

TeraTermを使用したポートフォワードの設定について

TeraTermのポートフォワードを利用して、Eclipse等のIDEでリモート接続する手順をまとめます。 SSH転送(ポートフォワード)を設定する 「設定」→「SSH転送」→「追加」をクリック ローカルのポート、リモート側ホスト、ポートをそれぞれ入力する。 ※ローカルのポートは任意の番号を入力(ここでは10022) ※SSH接続ポートはデフォルトが22 追加されたことを確認したらOK コマンドプロンプトで状態を確認する 上記で設定したポート番号でLISTEN状態が追加されていることが確認できる。 ここまで来たら、IDEのリモート設定で localhost:10022 へ接続すればするだけです。 また、「設定」→「設定の保存」でこの状態に名前をつけて保存しておくと次回から設定ファイルを読み込むだけで使えます。 さらにこのポートフォワードを複数設定することで踏み台サーバーを経由した多段SSH接続が可能です。 ポートフォワード … 特定のポートに送られてきたデータを別のIPアドレスに転送すること

続きを読む

ThinkPad X220 電源ランプが一瞬ついて起動しない

もう十年近く使っているThinkPad X220が突然起動しなくなり非常に困りました。 症状 電源を入れると電源ランプが一瞬だけ付くがすぐに消えてしまう。 原因 原因は至って単純で電源コードが抜けていたためのバッテリー切れでした。本当に長年使っているのでバッテリーが老化して、3時間ぐらいしか持たなくなっています。(なまじ電源ランプが一瞬付くため、ハード系の障害かなにかかと思いかなり焦りました。。) 最近はファンも気になるぐらいうるさいので、今度分解して大掃除しようかと思っています。

続きを読む

FuelPHP - Model_Crudの作り方と使い方

FuelPHPにおける Model_Crud とはいわゆるORマッパーと呼ばれるもので、テーブルにおけるCRUD操作を劇的に簡単にします。 使用するテーブル >SHOW CREATE TABLE products; CREATE TABLE `products` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品ID', `name` varchar(16) DEFAULT NULL COMMENT '商品名', `price` varchar(16) DEFAULT NULL COMMENT '価格', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'レコード作成日', `updated_at` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'レコード更新日', `is_deleted` tinyint(1) DEFAULT '0' COMMENT '削除フラグ', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品マスタ'; 使用するデータ >SELECT * FROM products; +----+----…

続きを読む

AdMob広告が表示されない(されなくなった)

先日新規にアプリを開発していて、首記の事象が発生し、とても困ったので書き記しておきます。なお、一応解決はしましたが原因は分かっていません。。 事象と経緯 アプリにAdMob広告を入れてリリースビルドしたとき、必ず一度は本番用の unit_id で実際の広告を確認してからリリースするようにしているのですが(心配性なので)、待てども待てども広告が表示されません。 PCにつないでLogcatを確認したところ、以下のようなログが出力されていました。 I/Ads: Use AdRequest.Builder.addTestDevice("XX") to get test ads on this device. W/Ads: App does not have the required permissions to get location I/Ads: SDK version: afma-sdk-a-v15090021.12211000.1 I/Ads: Ad failed to load : 3 どうやら広告のloadに失敗しているようです。が、Ad failed to load : 3 が何を意味しているのか、直前に出ているAdsのログが何か関係しているのか、小一時間調べましたが全く分かりませんでした。。 ここであることに気づく これまでにリリースしているアプリもいくつか広告が表示されなくなっているものがあることに気づきました。 「もしやAd…

続きを読む

Google Home mini -初期セットアップ-

ついに我が家にも Google Home mini がやってきました! 開封してみる Google Home mini 本体 電源アダプター 小冊子×3 え、これだけ?説明書的なやーつは...と思いましたが、基本的にAndroidのGoogle Homeアプリでセットアップを行うようです。 セットアップする Google Home miniを電源アダプターにつなぐとGoogleアシスタントが起動し、Google Homeアプリをダウンロードするように促されます。その後はアシスタントの指示に従いGoogle Homeを操作して行けば初期設定が完了します。 ※当然ですが、Wi-Fi必須です。 話しかける 話しかけるときは「Ok Google」「ねえ、Google」と話しかけます。(最初はこれが結構恥ずかしい) すると本体の4つのランプが白く点灯するので、続いて話しかけます。 「こんにちは」→「こんにちは、今日は2月ですが、2月の花はうんたらかんたら~~」といった具合です。 音楽をかけてみる 音楽をかけるには「音楽をかけて」とお願いするだけですが、音楽プロバイダがリンクされている必要があります。 この設定もGoogle Homeアプリから行います。利用できる音楽プロバイダがあらかじめいくつか設定されていて、また上記のほかにも「うたパス」や「AWA」などのサービスが利用可能となっています。私は「S…

続きを読む

スポンサーリンク