facebook PHP のSDK の処理

Facebook の PBP SDK を使った処理の流れです
PHP SDK ファイルをロード
Facebookクラスのインスタンス生成
してアプリ初期化
getUserメソッドでログイン状態を
チェック
未ログインならログイン処理
ログイン済みならアプリ本体の処理
を実行
流れとしては
こんなかんじです
ただし、PHP SDKを使うならシークレットキー
の指定が必須になります
もう少し詳しく流れを書くと
require_once
を使い
PHP SDKを読み込んで
次に
new を使い
facebookクラスのインスタンス生成
アプリへのログイン状態をこの
getUser メソッドで取得
このメソッドは
ログインS済みなならユーザIDを返し
未ログインなら0が返る
これを利用して、IFbぶ文でログイン判定をします
続いてログイン処理
これには
getLoginUrl() を使用
PHP SDK ver 3.0 以降では
redirect_url に
Facebook 上での
キャンバスページのurlを
指定しないとダメ
これをやらないと
ログイン後にフレーム解除状態で
アプリが表示されます

facebook PHP SDK の使い方

https://github.com/facebook/php-sdk
へアクセスし
zip をクリックしてファイルをダウンロード
facebook-php-sdk-v3.1.1-18-g70030bb.zip
がダウンロードできるファイルになります
cd コマンドで移動
cd ~/ダウンロード
unzip facebook-php-sdk-v3.1.1-18-g70030bb.zip
で解凍
次に、テストするために
ドキュメントルートディレクトリに解凍したファイルの中身を移動します
ドキュメントルートは
サーバー関連を操作するときに使いますので
検索するといろいろでてきます
ubuntu なら
/var/www/
xampp なら
/opt/lamp/htdocs/
がこれにあたります
私の場合
/var/www/facebook/
となっていますので
sudo cp -rp ~/facebook-php-sdk-70030bb/* /var/www/facebook/
これでOKです
試しにサンプルを使って確かめてみました
今回も
基礎から学ぶfacebook アプリ開発
に載っていたソースを使いました
今回の注意点は
‘secret’ => ‘シークレットキー’,));
の部分で
シークレットキーを
アプリの秘訣にかかれている数値に変えるということです

RHEL 初期設定

インスタンス作成と
SSH接続ができるようになったら、
ssh -i 鍵ファイル root@ipアドレス
で接続します
最初に
yum -y groupinstall “Development Tools”
で開発環境をインストールします
次に
ファイアウォール設定をします
Linux では
iptablesを使います
今回のばあい
書籍にあるスクリプトを使いました
スクリプト作成は
vim iptables.shで作成し
sh iptables.sh
で実行します
また、chkconfig で不要サービスを
停止できますが
choose_repo
はとめないようにしましょう
これは、AWS環境でyumを
つかうために必要なものです
次に、
useradd コマンドで一般ユーザーを作成しますが
RHEL では  公開鍵認証のため
一般ユーザをつくってもこのこの設定をしないとログインできません
useradd ユーザ名
で作成し
passwd ユーザ名
でパスワード設定します
終わったら
vim /etc/ssh/sshd_config
でログイン設定を編集し
PermitRootLogin noBanner /etc/ssh_banner
を記述するのですが
こんかいはそのまま root 権限で行います

RHELをAmazonEC2で

日経Linux 2012-02 を参考に
AmazonEC2 で RHEL を構築してみます
AWSのRHELは
LVMを使わない構成でルートファイルシステムに
インストールされます
では、さっそく構築開始
AmazonEC2にログインし
作成する場所を
Asia Pasific Tokyoにして
Launch Instance をクリック
次に、
Launch Clasic Wozardを選択し
使うイメージを
RedHatEnterPriseLinux 6.1 64bit
を選択
インスタンスタイプは
とりあえず
Micro Instance
インスタンス名は
RHELにしました
認証キーは、以前作ったものが
あるため、今回のは
Choose from your existing key Pairs
を選択
次に、セキュリティグループ設定になるので
Create a new Security Group を
クリックし
Group Name
に任意のグループ名
今回のは、security test
Group Description
に概要を書きます
今回のは、
RHEL test
としました
次に、
Create a new rule

HTTP
を選択し
Add rule
をクリック
あとは、そのまま続けていけば
できます
詳しい解説が
日経Linux 2012 02に載っていますので
そちらをみるとよりわかりやすいです

Facebook サンプル実行

キャンバスURLを設定したら
次に
詳細設定を変更します
Sandbox Mode:
を有効にすることでアプリが非公開になります
逆に、無効にするとアプリが公開されます
ここまで行ったら、設定を保存します
アプリ作成をゼロからだと確認するときに挫折しやすいので
今回は、

のサンプルを使いました
最近の書籍では
ソースがダウンロードできます
(書籍についているパスワードが必要なときがあります)
まずは、感覚をつかむため
http://www.c-r.com/
から
サンプルをダウンロードし
unzip sample.zip
で解凍
次に、
sudo mkdir /opt/lamp/htdocs/facebook/
でディレクトリを作成
sudo cp -p ~/ダウンロード/CHAPTER02/006/index.html /opt/lamp/htdocs/facebook/
でコピー
vim /opt/lamp/htdocs/facebookt/index.html

15行めの
appId: ‘アプリケーションID’,
のアプリケーションIDを
App ID の数値に書き換え保存
これで
サーバーIPアドレス/facebook/index.html
でアクセスすればアプリが実行できます
ちなみに、今回は XAMPP で行いました

netbook で facebook アプリ開発

https://developers.facebook.com/apps
へアクセスし
新しいアプリの作成をクリック
App Display Name
にアプリの表示名
App Namespace
にアプリの名前空間
を書き込みます
このあたりの参考には
最新版】Facebookページ Welcomeページの設定方法(iframe)
http://www.gb-jp.com/blog/social/1470.html
が参考になります
設定したアプリ名などが有効なら
vaid とされます
vaid は有効
App Namespace も問題ないなら
Available となります
available は利用可能
認証を済ませたら
次に
アプリをFacebookに結合する方法を選択してください
の中から
Facebook上のアプリを選択し
キャンバスURL

セキュリティで保護されたキャンバスURLを
入力します
基本的にはレンタルサーバーなどの
ドメインですが
XAMPPでもできます

Zen touc 2 を開発環境に使用

netbook でも開発できるように
android 実機検証できるように Zen touch 2 を
開発環境に使用しました
エミュレータをネットブックで使うと、処理が追いつかず
起動したり操作するには向かないため、実機検証するようにしました
lsusb でベンダーIDを
調べます
Bus 002 Device 002: ID 041e:4164 Creative Technology, Ltd
次に
sudo vim /etc/udev/rules.d/70-android.rules

一般ユーザでも使えるように
SUBSYSTEM==”usb”,SYSFS{idVendor}==”041e”,SYMLINK+= “android_adb”,MODE=”0666″
を記述しておきます
ちなみに、041e
は16進数表示です
次に、echo 0x041e >> ~/.android/adb_usb.ini
を実行してベンダーIDを登録します
後は再起動して
adb devices
を実行し
List of devices attached
1C110805D7245246 device
となれば成功です

ipod touch で公開鍵認証接続

最近は、ネットブックと iPo touch をメインに使っています
移動時に使い勝手のいいように、イー・モバイルのGP02を使って
公開鍵認証でログインできるようにしました
今回、iPod touch で使用したアプリは、有料アプリの
Prompt
を使いました
接続などに関してはPromptを使ってiPadからsshを試す
を参考にさせていただきました
まず、公開鍵認証など、メインで使っているマシンがUbuntu なので
Prompt を使うには Windows へ一度この鍵ファイルをコピーする必要があります
このため、WinSCPによるサーバファイル転送
を参考に、WinSCP をダウンロード&インストールして
Windows に鍵ファイルをコピーします
次に、iTunes を起動
アプリの項目で、一番下のファイル共有のところで
Prompt を選び、鍵ファイルを追加したら同期します
これで、SSHログインのときに、鍵ファイルを指定して
ログインするようにすれば、公開鍵認証でログインすることができます

Apple Store の福袋

今年は、福袋を買ってみました
とはいっても、服の福袋ですが
福袋というものを以前はあまり購入することはなかったのですが
最近はいろいろと入っているものもよくなってきたので
ちょっと調べてみました
そんな中、気になったのが Apple の 福袋
中身は iPad2 や MacBook Air iPod touch のどれかと
周辺機器になるようです
値段は33000円ということで金額としては
お得と思われます
ただ、問題なのは、購入に至までの時間と労力です
Apple Store でしか購入できず
さらにこの Apple Store が全国で7ヶ所ほどしかないため
かなりの行列となり、東京では11時間もならぶほど
さすがに、時間と労力を考えるとちょっと割に合わないようにも
思えますが….