FC2ブログ

PHP SDK の使い方 その4

次は、ログイン処理の実行です

ログイン処理には、
Facebookクラスの getLoginUrl()
を使います

ソースで書くと
$url =$facebook->getloginUrl(
array('redirect_url'=>$canvasurl)
);

echo "";


そして、このメソッドで必要な
アクセス権限を設定します

になみに
PHP SDKの ver3.0以降の場合
redirect_url に Facebookでの
キャンバスページのURLを指定しないと
ログイン後にfacebookの
フレームが解除されます

こうなると、php入門書にあるような
真っ白なページに表示されるという
状態になりますので注意しましょう
スポンサーサイト



PHP SDK の使い方 その3

引き続き PHP SDKの解説です

今回はアプリ初期化から

アプリ初期化は
new で Facebookクラスのインスタンスを
生成します

ソースを書くと

$facebook = new Facebook(
array('appId'=> 'アプリケーションID',
'secret'=>'シークレットキー'));

となります

new を使った初期化は

androidでも使うため、覚えておくと便利です
あと、facebookではなく
大文字で、Facebookになっているので
注意しましょう

PHP SDKを使う場合
シークレットキーが必須なのも
注意しましょう


続いて、ログイン状態のチェックです
これは、
FacebookクラスのgetUser()で取得します
 
ソースで書くと
$user =$facebook->getUser();
getUser()は
ログイン済みならユーザIDを返し
ログインしていないなら0を返します

このメソッドの返り値を使い
if文で判定すれば
ログイン状態がチェックできます

PHP SDK の使い方 その2

引き続き、PHP SDK関連です

以下は、お決まりの文面ですが
まとめるため簡単に解説です

ます、キャンバスページのURLを格納します
$canvaspage='apps.facebook.com/App Namespace/';

この App Namespace/を
自分で取得したものに変更します
ちなみに、App Namespace/は
アプリ開発のときに登録したものです

次に、プロトコルの判別
$protcol=isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'
?'https://'
:'http://';

これは、プロトコルを格納するのですが
isset()で判別しています

isset()は
指定した変数がセットされているかを
調べます
今回、調べているのは
$_SERVER['HTTPS']
これにより
現在の通信状態の確認をしています

参考サイトは
http://dhive.jp/blog/yama/?p=271

?'https://'
:'http://';

の部分は
三項演算子
で、if elseの別バージョンみたいなものです

つまり
サーバーの通信状態がhttpsで
Httpsが onなら
プロトコルは
https://
そうでないなら
http://
となるようにしています

あとは、これらを組み合わせ
ログイン後にリダイレクトするページのURLにします

$canvasurl = $protcol.$canvaspage;

これで、キャンバスページのURLが
$canvasurlに格納されます

.はPHPでは文字列連結に使うため
http://キャンバスページのURL
もしくは
https://キャンバスページのURL
になります

PHP SDK の使い方 その1

facebook PHP SDK の使い方
でダウンロードと展開方法を書きました

次に
facebook PHP のSDK の処理
で処理の流れを書いたので、今回はちょっとまとめてみようと思います

まず PHP SDK読み込みから

PHPで外部ファイルの読み込みをするには
include()
include_one()
require ()
require_one()
のどれかを使います

これを使ったサンプルを見たい場合、参考書籍としては
PHP逆引き大全 516の極意




などを参考にすると、関数についても説明が載っていてわかりやすいと思います

また、これらをつかったAPIとして
Web サービス API 勉強会があります


Ustream でも動画配信されていましたので、実際に動画をみながらおこなうと
よりわかりやすいと思います

PHPのマニュアルを見たい場合には
http://php.net/manual/ja/index.php
にのっています

使い方のソースを書くと
PHP SDKの読み込みは
require_one './src/facebook.php';

となります

テーマ : プログラミング
ジャンル : コンピュータ

sed コマンドを使ってファイル編集

sed コマンドを使うことで、ファイルの編集ができます

編集だけなら vim でも十分なのですが
sed コマンドを使い編集ができるようになると、
スクリプトにして処理することができるようになります

一番活用できるのは、サーバーの設定をするとき

仮想環境でサーバー構築するときに、毎回 vim でファイルを開いて
編集し。コマンドを打ちつづけるのはかなりのロスがでてきます
また、手打ち入力は練習にはよいのですが
入力ミスなどでエラーがおきる可能性も高くなります

このため、sed コマンドを組み入れたスクリプトを使うことで編集のミスを
減らし、構築の手間を減らします

以前。スクリプトを混ぜたサーバー構築実験
で簡単ながらもいちおうは設定できるスクリプトをつくりました

この中で
#7行めに追記(自FQDN名を指定)
sed -i "77i myhostname = mail.linuxwiki.com" /etc/postfix/main.cf

のように文字列を挿入することがあったため
応用で複数行の文字列を挿入できないか調べてみました

検索キーワードは
Linux ファイル編集 sed
あたりで行って見ました

複数行の追記については
sed aコマンド、 iコマンドの動作(指定文字列の挿入、追加) 【Linuxコマンド】
を参考にさせていただきました

sed '3a\ABC\
> DEF' sample.txt
というように\
コマンドで入力するときのように改行して行うか

もしくは
sed '3a\ABC\nDEF' sample.txt
というように\nで改行すればよいようです

ちなみに、このサイトを参考にさせていただいて
気づいたのですが
i だと行の前
r だと行の後
になるようです

sed '3a\ABC\nDEF' sample.txt
だと3行目の後

sed '3i\ABC\nDEF' sample.txt
なら3行めの後になるようです

そして、今回。もっとも探していたもののヒントが見つかりました

sed rコマンドの動作(ファイル読み込み) 【Linuxコマンド】
に載っていました

これを使うことで、よくある設定ファイルのところに
追記する内容というものをスクリプトで処理できるようになりそうです

sed '1r read.txt' sample.txt
とすることで
sample.txt の
1行めの後に read.txt の内容を追記できます

ただし、このままではファイルの編集はされていません

このため、
sedコマンドでファイルを上書き編集
を参考に
sed '1r read.txt' sample.txt

sed -i -e '1r read.txt' sample.txt
とすることで、上書きすることができます

これに加えて
http://d.hatena.ne.jp/anmino/20090809/1249786160
のような処理を加えるとかなり効率的な操作ができるようになりそうです

最終行への追記も考えました
$を指定すれば最終行へ追記することができます

sed -i -e '$r read.txt' sample.txt
とすれば、sample.txt の最終行へ
read.txt の内容が追記されます

テーマ : Linux
ジャンル : コンピュータ

JavasScript SDKの使い方 その3

引き続き、ログイン関連についてです

アプリへのログイン状態を
FB.getLoginStatus() で取得します

この関数は、ユーザのログイン状態に応じてレスポンスオブジェクトを返します

ログインの状態は
このレスポンスオブジェクトの
authResoponse オブジェクトの値をIF文で判定してチェックします


続いて、アプリのログイン処理です
アプリのログイン処理には FB.login() を使います

そして、このメソッドでアクセス権を設定します
アクセス権は Permissions というプロパティで
Linux サーバーなどではお馴染みのパーミッションのようなかんじです

で、このFB.login() ですが
ダイアログボックスが ポップアップ表示なので
ブラウザのセキュリティで消してしまうことが多いのです

これを回避するには
ボタンをクリックするとかいうように、何らかのユーザのアクションに結びつける
ようにします

いちばん使われるのは、たぶん、ボタンクリックあたりだと思いますが

テーマ : プログラミング
ジャンル : コンピュータ

JavasScript SDKの使い方 その2

続いて、アプリの初期化です

アプリ初期化は
FB.init()
で行います

ソースを同期するほうで書くと

$(function(){
appId: "アプリケーションID",
cookie: true,
oauth: true
});

非同期なら
window.fb.AsyncInit を使って
window.fb.AsyncUbur = function(){
FB.init(){
appId: "アプリケーションID",
cookie: true,
oauth: true
});
};

というようになります

認証が必要なアプリについては
appId: "アプリケーションID”
が必要になります

FB.init() には様々なプロパティがありますが
oauth: true を指定して OAuth2.0 を有効にする必要があります

主要なプロパティとしては

appId
アプリのIDの設定

cookie
クッキーサポート

logging
ロギングの設定

session
セッションオブジェクトの利用

status
ステータスのフェッチ

xfbml
XFBML タグのパース

channelUrl
カスタムURLチャンネルファイルのURL指定

oauth
OAuth2.0 を有効にする

となります

次はログイン状態のチェックをまとめてみます

テーマ : プログラミング
ジャンル : コンピュータ

Java Script SDK の使い方 その1

facebook アプリを作るときに
JavaScript SDK をつかう時の処理の流れを書いてみました

まず、最初に JavaScript SDK ライブラリファイルをロードします

これは、Facebook のサーバーにあるライブラリファイルを
Script 要素でロードすることで使えるようになります

ちなみに、ライブラリファイルのURLは
http://connect.facebook.net/ja_JP/all.js

これをSSL対応するなら
https://connect.facebook.net/ja_JP/all.js

ただし この JavaScript SDK を使うにあたって
id 属性が fb-root の divタグが必要です

ソースでかくと
<div id="fb-root"></div>

これがないと動作しませんので要注意です

で、次に読み込ませかた

これは2種類あり、APIなどを使っているとお馴染みの
同期読み込みと、非同期読み込みの2つになります

twitter アプリなどをつくるときにはよくでてくる用語です

サンプルなどだと、非同期の場合が多いかも

非同期の場合
ライブラリファイルをロード完了してから
window.fb.AsyncInit() が実行されるため
アプリの初期化処理とかは
window.fb.AsyncInit() の中に記述します

* window であって windows じゃないですよ


同期の場合には
src 属性にライブラリファイルのアドレスを指定した script 要素
つまり
<script type="text/javascript"
src="http://connect.facebook.net/ja_JP/all.js">
<script>

これを <header> もしくは <body>
タグの中に書き込みます

とりあず、これがライブラリのロードです

次回はアプリの初期化をまとめてみようと思います

テーマ : プログラミング
ジャンル : コンピュータ

オリンパス、上場維持の可能性

巨額の損失隠しにより、最近の話題となっていたオリンパス

東証はオリンパスの上場を維持するようです

しかし、いままでの粉飾決算をしてきた会社は
上場廃止になっていたのに対して、大きな会社だから
上場が維持されるのなら、透明性や公平性にかけるのでは?

本日届いたメルマガに、
中学生にもわかるライブドア事件
というページへのリンクがありましたので

興味深いものがあったので、載せてみました

テレビなどでは詳しく報道されないため、自分なりに
ネットなどを使って情報を集めることが重要になっていきそうです

そういえば、サブプライム関連も
日本の株式市場が上昇し、円安だったことと関連があります

なんらかの高成長や景気拡大がある場合、
理由がありますので、それに基づくバブル崩壊を避けるためにも
情報収集が重要となってきます

テーマ : 株式日記
ジャンル : 株式・投資・マネー

ゲーミフィケーションとFBアプリ

最近の話題としてでてくるようになってきた
ゲーミフィケーション

これを使っているので、おもしろいものがFBアプリにはいろいろと
あります

今回の検索結果で興味深かったのが
診断アプリはもう古い?4つのFbアプリからみるファン獲得には留まらないコミュニケーション

診断アプリなどもおもしろいのですが
今後は企業のマーケティングの一環として
いろいろとキャンペーンアプリがでてきそうです

いままでは、CMといえばテレビなどがメインでしたが
今後はこういったゲームなどを使って認知度をあげる手法が
多くなりそうです

というわけで、現在FBアプリ作成の勉強中です

テーマ : プログラミング
ジャンル : コンピュータ

Facebook テストユーザ作成

Facebook アプリで懸賞をするには、テストユーザを作成します

今回の参考にさせていただいたのは
Facebook用のテストユーザーを作成する
です

書籍にも載っていましたが
こちらは curl を使うため
GUIで簡単にできるほうを選びました

自分のアカウントのアプリ一覧画面に移動

役割 の右側にある 役割を編集 をクリック

 Test Users の右側にある 追加 をクリック

Number to Add で追加したい人数を指定します

テーマ : プログラミング
ジャンル : コンピュータ

Facebook の いいねボタン作成

facebook のソーシャルプラグインを「使うことで
facebook の機能を自分のブログにつけることもできます

一番有名なのは、いいねボタンです

ちなみに、このブログに設置すると以下のようになります


のサンプルを使いました

最近の書籍では
ソースがダウンロードできます
(書籍についているパスワードが必要なときがあります)

まずは、感覚をつかむため
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
となれば成功です

テーマ : PC周辺機器
ジャンル : コンピュータ

ipod touch で公開鍵認証接続

最近は、ネットブックと iPo touch をメインに使っています

移動時に使い勝手のいいように、イー・モバイルのGP02を使って
公開鍵認証でログインできるようにしました

今回、iPod touch で使用したアプリは、有料アプリの
Prompt
を使いました

接続などに関してはPromptを使ってiPadからsshを試す
を参考にさせていただきました

まず、公開鍵認証など、メインで使っているマシンがUbuntu なので
Prompt を使うには Windows へ一度この鍵ファイルをコピーする必要があります

このため、WinSCPによるサーバファイル転送
を参考に、WinSCP をダウンロード&インストールして
Windows に鍵ファイルをコピーします

次に、iTunes を起動
アプリの項目で、一番下のファイル共有のところで
Prompt を選び、鍵ファイルを追加したら同期します
これで、SSHログインのときに、鍵ファイルを指定して
ログインするようにすれば、公開鍵認証でログインすることができます

テーマ : PC周辺機器
ジャンル : コンピュータ

Apple Store の福袋

今年は、福袋を買ってみました

とはいっても、服の福袋ですが

福袋というものを以前はあまり購入することはなかったのですが
最近はいろいろと入っているものもよくなってきたので
ちょっと調べてみました

そんな中、気になったのが Apple の 福袋

中身は iPad2 や MacBook Air iPod touch のどれかと
周辺機器になるようです

値段は33000円ということで金額としては
お得と思われます

ただ、問題なのは、購入に至までの時間と労力です

Apple Store でしか購入できず
さらにこの Apple Store が全国で7ヶ所ほどしかないため
かなりの行列となり、東京では11時間もならぶほど

さすがに、時間と労力を考えるとちょっと割に合わないようにも
思えますが....

テーマ : PC周辺機器
ジャンル : コンピュータ

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック