FB.init() のパラメータ

FB.init() では
JSONハッシュオブジェクトを引数として指定します
パラメータはいかのようになります
appid
アプリのID
cookie
クッキーサポートなら true
status
最新の状態を取得するなら true
xfbml
XFBMLタグをパースするなら true
oauth
OAuth2.0 を使ってログインするのに指定
これは true にしないとだめ
logging
ログの出力をするなら true
channelUrl
チャンネルファイルへのURlを指定
チャンネルファイルは
JavaScript SDK へのURLが指定された
<script>タグだけ記述する
authResponse
FB.getAuthResponse() で取得できる内容を
受けとるなら true
hideFlashCallback
Flash を使用する Canvas型アプリを開発するなら true
frictionlessRequests
アプリケーションリクエストを友達に送るとき
確認画面を出さないようにするオプションを表示するなら true

facebook 提供の JavaScript 関数を使う場合

Facebook で提供されている JavaScript を使う場合
<div id=”fb-root”></div>
が必要です
これが、facebook の関数を呼び出すための
JavaScript を呼び出したとき必要になります
それと、ライブラリを読み込むため
<script type=”text/javascript” src=”http://connect
.facebook.net/en_US/all.js”></script>
も必要です
これで、Facebook Graph API を簡単に呼び出せます

facebook アプリと文字コード

10日でおぼえるFacebookアプリ開発入門教室
を購入し、
おみくじアプリ作成のところでつまづいたので、対処法を書いておきます
今回のつまづきは
chrome や IS04 のブラウザを使ったときの問題でした
firefox で行うぶんには問題ありません
まず、通常にすすめて問題はありませんが
最初に
index.html
を作成し
コードをすべて写したところ、
firefox では通常に動くのに chrome では文字化けするという状態でした
文字化け状態でクリックしても
おみくじの結果はでません
解決方法として
一番最初に
<meta charset=”utf-8″>

追記して、文字コードを指定します
これで、無事 chrome やスマホでも実験できます
ちなみに、chrome と IS04(android)
がダメだったのは、ブラウザの処理が同じためです
これで、無事にすすめます
ちなみに、この本の内容を実行するときには
レンタルサーバがなくても
XAMPP で代用できます

Eclipse へPHPプラグインインストール

Canvas型PHPアプリを開発するために
Eclipse へ PHP plugin をインストールします
今回は
32bit ubuntu 10.10 と
64bit ubuntu 11.10 なので
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR2/eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz
からダウンロードしました
Screenshot-2012-04-24 21:01:53
eclipse を開いて
Help > Install New Software を選択します
次に work with の横に
Indigo-http://download.eclipse.org/releases/Indigo
を打ち込んで
Add を押します
ちなみに、リンク先は
http://download.eclipse
まで打っていると、候補ででてくるので、こちらから選んでもOKです
Screenshot-2012-04-24 21:12:20
次に、
Screenshot-Install
というように、一覧がでてくるので
Web XML and Java EE Development
の左の▶ をクリックます
Screenshot-Install -1
その中に、PHP Development Tools(PDT) SDK Future
がありますので、これを選択し
next をクリックします
そして、最後に
I agree to the conditions of these Terms of Use
(使用条件に同意します)
を選択して finish をおすとインストールされ、
再起動することで反映されます
また、別の調べ方として
youTube を使うという方法もあります
Youtube で
eclipse PDT install
と検索すると、英語の動画がほとんどですが
動画で学ぶこともできます

facebookアプリ開発を行う際の情報交換サイト

10日でおぼえるFacebookアプリ開発入門教室
を購入しました
この本に載っていましたが
facebookアプリ開発を行う際の情報交換サイトが紹介されています
ちなみに、日本語サイトです
ほとんど最新の情報は英語なので、英語になれるまでは、こちらを使うとよいかもしれません
https://www.facebook.com/groups/tyhuik6r
また、この書籍のサポートサイトもあります
https://www.facebook.com/pages/10daysfaceboooksupport/223843231046487

Graph API を呼び出す一般的形式

Graph API を呼び出すときのURLは
https://graph.facebook.com/ID
が基本形
IDは
ユーザID
イベントID
など
さまざまなのものがあり、IDのみでその情報の特定もできます
以下はPOSTメソッドで投稿または新規作成する際のURLになります
/プロフィールID/feed
ウォールに投稿
パラメータは
nmessage,picture,link, name,
caption,description, source
/オブジェクトID/comments
コメントの当校が可能な場合はコメントを投稿
パラメータは
message
/オブジェクトID/likes
いいね が可能な場合 いいね をする
/プロフィールID/notes
ノートを作成
パラメータは
message, subject
/プロフィールID/links
リンクの投稿
パラメータは
link, message, picture, name
caption,description
/プロフィールID/events
イベントを作成
パラメータは
name, start_time, end_time
/プロフィールID/albums
アルバムを作成
パラメータは
name,message
/プロフィールID/checkins
ページIDと位置を指定してチェックイン
パラメータは
coordibates, place, message, tags
/イベントID/attending
イベントに出席予定を返答
/イベントID/maybe
イベントに未定を返答
/イベントID/declined
イベントに不参加を返答
/アルバムID/phgotos
アルバムに写真をアップロード
パラメータは
message,. source multiparyt/from-data

Graph API Explorer でできること

Graph API Explorer を使うことで
アクセス権限設定のほかに
機能の呼び出しを URL とパラメータの入力でできるようになります
以下は、その一例です
GETでできること
https://graph.facebook.com/ユーザID
ユーザの情報
https://graph.facebook.com/FacebookページID
facebookページの情報
https://graph.facebook.com/グループID
グループ情報
https://graph.facebook.com/写真ID
写真情報
https://graph.facebook.com/イベントID
イベント情報
https://graph.facebook.com/ポストID
投稿内容の情報
https://graph.facebook.com/コメントID
コメント情報
続いてPOST関連
https://graph.facebook.com/ユーザID/feed
ポストの投稿
https://graph.facebook.com/ポストID/comments
コメント情報
そして DELETE関連
https://graph.facebook.com/ポストID
投稿の削除
https://graph.facebook.com/写真ID
写真の削除
https://graph.facebook.com/ポストID/likes
投稿のいいね取り消し

投稿時のエラーメッセージの例

以下はエラーメッセージの例です
Error walidating access token
Session has expired at unix time XXXXXX
The current unix time is XXXX
セッションの時間が制限を過ぎている
(#289)Requires extended permission:
publish_streem
拡張アクセス権限 publish_stream が必要
(#100)Required parameter “user” was not provided
指定されたパラメータ user が指定されていない
(#506)Duplicate status message
同じ内容が直前に投稿されている
Unsupported post request
入力されているURLでは指定された操作ができない

(#100)The parameter place is required
パラメータに place が必要

Graph API Exploer でウォール投稿

今回は Graph API Explorer でウォールへ投稿です
https://developers.facebook.com/tools/console/
へアクセスし
参考資料 > tools > SDKs & Tools をクリック
次に
Tools のところにある
Graph API Explorer
をクリック
次に、ニュースフィールドの内容を取得するため
Graph API Explorer のアクセス権限を変更します
アクセストークン取得 をクリック
でてきたダイアログから
Extended Permissions
をクリック
read_stream 
にチェックを入れ
Get Access Token をクリックすれば
次に表示されるダイアログで許可を求められるので
許可すると
アクセストークンのところに新しいアクセストークンが表示されます
次に
自分のウォールの内容を表示するため
URLの最後に
me/posts
を追記します
最初に
https://graph.facebook.com/
がかかれているので
https://graph.facebook.com/me/posts
とします
最後に送信をおすと
自分の投稿内容が
JSON形式で表示されます
とはいっても、過去に自分が投稿したものが表示され、
実際にはまだウォールには投稿されません
今度はウォールに投稿するために
Grap API Explorer の権限を変更します
もう一度、
アクセストークンを取得をクリックし
Extended Permissions をクリックし
publish_stream 
にチェックを入れます
最後に
Get Access Token
をクリックすると、またしてもダイアログがでてくるので
許可する をクリックします
次にURLを
https://graph.facebook.com/ユーザID/feed
として
となりの GET を POST へ変更します
次に、フィールドの追加をクリックし
name
のところへ
message と入力し
value には
ウォールに投稿する文章を入力します
最後に送信をおすと、実際にウォールに文章が投稿されます
ちなみに、コンソール画面には
戻り値のポストIDが表示されます

ハッシュについて

ハッシュとは PHP Perl などでいう
連想配列のことです
key-value の組み合わせのリストになっていて
key を指定することで
value の取得、設定が可能になります
ちなみに、セキュリティのほうにあるハッシュ値とはちがう意味でした
こちらは暗号化のほうです