facebook 独立型アプリ作成

Canvas型アプリのときには
Facebook上のアプリを選択して作成
独立型アプリをつくるときには「
Website with Facebook Login を選ぶ
サイトURLには、自分の公開サーバーのURLを指定
独立型アプリの場合、Facebook API を使うけど
サイトの動作そのものはfacebook を必要としなくてもOK
あと、Canvas型と違って動作するときにユーザのログイン状態を確認する必要がある
これにはOAuth によるログインを使う

facebook アプリのスマートフォン用設定

Canvas型アプリの場合
設定画面にスマートフォン用の設定が用意されている
Facebook アプリの設定画面を開いて
モバイルWebアプリの欄にURLを設定する
設定するのはキャンパスURLと一緒でOK
このように、facebookアプリにスマートフォンからの
アクセスを想定するなら
モバイルWebアプリのURLを設定することで
表示コントロールができるようになる

subversion 基礎知識

subversionでファイルを管理するには
最初にSubversion の管理下にファイルを取り込む
この操作がインポート
インポートしたファイルをsubversionサーバーから
手元のPCに取り出すこと、つまりダウンロードするのが
チェックアウトという
チェックアウトしたファイル一式をワーキングコピーという
チェックアウトしたファイル、
つまり subversion サーバーから
ダウンロードしたファイルは、修正したら再び
サーバーに保存する必要がある
この再度サーバーに修正してから保存するのが
コミット
ただ、コミット、つまり、修正後のアップロードは
複数環境からできるので
手元のPCやサーバーのファイルが常に最新とは
限らない
とくに、多人数でやると、実感できる
このため、他の環境で亜子ミットされたファイルの
変更を手元のPCとかサーバーにも反映しないと管理できなくなる
この作業がアップデートとか更新という
そのままの意味だけど
つまり、subversion を導入することで
subversion サーバーにインポートされたソースコードを
チェックアウトして、修正が完了したらそれをコミット
もし、ほかの環境で更新されたら
アップデートして、手元のファイルにも反映される
というようにできるようにするのが
subversion を入れるメリット
web プロジェクトなどをやるときに
作成したプログラム一式を
subversionの管理下にインポートして
開発環境と公開環境にチェックアウトする
修正完了したら、それをコミット
他の環境で更新されたファイルがあるなら
アップデートして手元のファイルにも反映させる
というような管理方法がとれるようになる
subversion は使ったことがないので、
ubuntu クライアントについて調べてみます
サーバーに関しては、CentOS でインストールは完了しました
MacOS の場合、コマンドでできるようです
ubuntu でもコマンドでできると思うので調べてみます
おそらく、Mac と同じで svn コマンドでいけそうです

ターミナルマルチプレクサのインストール

SSH接続して、作業中に一度ログアウトすると
最初からやり直しになり、かなり面倒です
そこで、ターミナルマルチプレクサを導入することで
セッションの保持が可能になります
ubuntu でこれをいれるには
sudo apt-get install byobu
でインストールします

facebookアプリメモ

プログラミングメモ
sprintfは
書き換えて出力
sprintf(‘http://apps.facebook.com/%s’,FACEBOOK_APP_ID);
これなら
URLの最後にFacebookのアプリIDを代入できるし
変更したときのメンテナンスも楽
require_once(‘../libs/facebook.php’);
$facebook = new Facebook(array(
‘appId’=>FACEBOOK_APP_ID,
‘secret’=>FACEBOOK_APP_SECRET,
));
これで
appId
secret
をつかって、Facebookオブジェクト作成
$user = $facebook->getUser();

Facebookオブジェクトから
ログイン中のユーザー取得
if($user){
try{
$profile = $facebook->api(‘/me’);
}catch(FacebookApiException $e){
$user= null;
$profile=array();
}
}
で、ユーザーIDが取得できているなら
GraphAPIを使い、
プロフィール情報取得
if(! $user){
$url = $facebook->getLoginUrl(array(
‘canvas’=>1,
‘fbconnect’=>0,
‘redirect_uri’=>HTTP_ROOT.’?action=fbcallback’,
));

ubuntu が立ち上がらないときの対処

ubuntu12.10 復旧メモです
カーネルをアップデートしたら、
起動後の画面で
checking battery …
で止まってしまうため
ノートパソコンから ssh ログインして作業しました
Linux は ssh でリモートログインできるようにしておけば
いざマシンが立ち上がらなくても、リモート操作で復旧させることができます
ssh 接続は、Linux マシンの他に
windows なら tera term
iPod touch なら Prompt
Android なら Connect bot
というように、いろいろとアプリがあるので
端末操作になれておくと、いざというときに役立ちます
sudo vim /etc/default/gru
で設定ファイルを変更
参考サイトは
http://ktakeda47.blogspot.jp/2012/11/screen-freezed-at-checking-battery.html
11行目の
GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash console=tty1″
へ変更
変更後、ファイルを保存し
sudo update-grub
これで、grub アップデートができたので
sudo shutdown -r now
で再起動することで無事に起動しました

ubuntu文字化け解消

なんとか復旧したものの、文字化けを解消する必要があるため
追加設定しました
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add –
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add –
sudo wget https://www.ubuntulinux.jp/sources.list.d/quantal.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get install ubuntu-defaults-ja
sudo add-apt-repository ppa:ikoinoba/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lha-sjis
これで文字化けが解消されます
これが行わないと、windows で作成したファイルを解凍すると
ほぼ文字化けします

Facebookテストユーザー作成

Facebookテストユーザー作成
開発中のFacebookアプリや
練習用のアプリだと
自分のアカウントてはテストが難しいこともある
そんなときには
テストユーザーを作成する
これは、P83を参考にできた
アプリの設定画面で
役割 > Test Users > 追加
でテストユーザーができるので
あとは切り替えるをすればテストユーザーで動作確認ができる
また、テストユーザー同士で友達にして実験も可能

アップグレード失敗した Ubuntu 12.10 を再インストールしました

Ubuntu 11.10 をアップグレードしたものの
紫色の画面となり、画面が表示されなくなったため
バックアップをとり、再インストールすることになりました
幸い、前回 Windows のときに失敗したときの敬虔をいかして
Ubuntu では ssh ログインできるようにしておいたため
手持ちのノートパソコンから ssh でログインし
必要なファイルをコピーしておきました
必要なものは
Android 開発関連のSDK
そして
PDFファイル
開発のソース関連や必要な圧縮ファイル
仮想環境構築のためのISOファイル
VMイメージなどです
これらは、拡張子で調べることができるため
find コマンドで場所を調べ
あとは scp コマンドで、ノートパソコンにコピーすることでバックアップはできました
find コマンドの使い方は
【 find 】 ファイルやディレクトリを検索する
を参考にさせていただきました
今回は、ssh コマンドで
ssh ユーザ名@IPアドレスで
ログインして
あとは
find ~/ -name “*.bundle”
find ~/ -name “*.iso”
find ~/ダウンロード -name “*.lha”
find ~/ダウンロード -name “*.tar.gz”
find ~/ダウンロード -name “*.zip”
で探し
あとは
scp でコピーすればOKでした
問題点としては、
さらに都合の悪いことに、以前作成した
インストールDVDが壊れていたことでした
このため、
sudo apt-get install k3b
でISOファイルを書き込めるようにして
再度作成したインストールDVDを使い、
ubuntu 12.10 64 bit をインストールしました
問題は、このときに以前せっかく作成したセットアップを簡単にするファイルを
コピーしておくのを忘れたということです
setup.sh を作成し
この中に
apt-get で取得するものや
.bashrc に書き込むものを記述しておき
一回で終わるようにしたかったのですが、消去してしまったため
再度やり直しです
また、カーネルをバージョンアップしたのですが
今度はこれが原因なのか、VMware Player のインストールでとまりました
なんとか、ある程度は復旧したので、メモしておきます
今回、行ったのは
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ssh
sudo apt-get install keepassX
sudo apt-get install tomboy
sudo apt-get install vim
sudo apt-get install build-essential geany libgtk-3-dev
sudo apt-get install ia32-libs
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer
mkdir bin
tar zxvf eclipse-jee-juno-linux-gtk-x86_64.tar.gz -C $HOME/bin/
mv android-sdk-linux/ bin/
echo -e ‘PATH=$PATH:$HOME/bin/eclipse’ >> $HOME/.bashrc
echo -e ‘PATH=$PATH:$HOME/bin/android-sdk-linux/tools’ >> $HOME/.bashrc
source .bashrc
ここまでとりあえず必要そうなものを再度いれてみました
以下は、今回VMware Player のインストールに手間取ったのでメモです
sudo ./VMware-Player-5.0.0-812388.x86_64.bundle
起動するとカーネルが見つからないと言われるため
カーネルのバージョンなどのシステム情報を調べるには
を参考に
uname -r
でカーネルヴァージョンを調べ
sudo apt-get install linux-headers-3.5.0-25-generic

必要なものを入れたら
再度
vmplayer &
で機動
もし、これでもダメならパッチを当てます
[Ubuntu][VMware] Ubuntu 12.10環境でVMware Player を動作させる方法。
を参考にさせていただきました
tar xfj vmware9_kernel35_patch.tar.bz2
cd vmware9_kernel3.5_patch
sudo ./patch-modules_3.5.0.sh
これでOKです
まだしばらくは復旧作業となりそうです
仮想環境構築後は、CentOS ubuntu にてサーバー環境を再度構築していきます

OGP情報のデバッガー 

OGP情報のデバッガー 
Facebookでは、
OGP情報が正しく設定されているかを調べるデバッガーがある
これは、
http://developers.facebook.com/tools/debug
で行える 
入力項目へ
WebサイトのURLを入力し
デハッグをクリックすれば
そのサイトのOGP情報が確認できる
もし、OGP情報に間違いがあるなら
エラー内容とエラー場所が確認できる