http://developers.facebook.com/docs/reference/javascript/FB.api/
Graph APIの呼び出しをします。
Graph APIの呼び出しをします。
JavaScript SDKを通じてサーバサイドへ呼び出しを行いますので、ブラウザから直接FacebookサーバへAPI呼び出しができ、リッチなアプリケーション開発が 可能となります。全てのAPI呼び出しをサーバから行うのに比べ、色々な状況においてパフォーマンス向上に役立ちます。また、自分のサーバをプロキシして リクエストする回数を減らす、もしくは無くす事が可能となるので、他の事に集中する事ができます。
これらAPIはFacebookの全ての面をカバーしていると言って良いくらいです。namesやprofile picturesなどのパブリックなデータは、ユーザもしくはオブジェクトのidさえ分かっていればアクセスできます。利用できるAPIはユーザの状態とユーザが許可したパーミッションに依存します。
パスを除き、全ての値はオプションです。
f8ページのオブジェクトを得るには以下のようにします。
FB.api('/f8', function(response) {
alert(response.company_overview);
});
ユーザがログイン中であれば、本人のユーザオブジェクトを以下のように得る事ができます。FB.api('/me', function(response) {
alert(response.name);
});
f8ページのオブジェクトに”コネクトされた”(言い換えれば、f8オブジェクトによって投稿された)投稿オブジェクトの直近3つを得るには、以下のようにします。FB.api('/f8/posts', { limit: 3 }, function(response) {
for (var i=0, l=response.length; i<l; i++) {
var post = response[i];
if (post.message) {
alert('Message: ' + post.message);
} else if (post.attachment && post.attachment.name) {
alert('Attachment: ' + post.attachment.name);
}
}
});
ログイン中のユーザがpublish_streamパーミッションを許可している場合、以下のようにして新規投稿できます。
var body = 'Reading Connect JS documentation';
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});
投稿された内容を削除したいのであれば、以下のようにします。
var postId = '1234567890';
FB.api(postId, 'delete', function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post was deleted');
}
});
Old REST API calls
このメソッドを以下のように用いてOld REST APIを利用する事も可能です。
FB.api(params, callback)
links.getStats:例えば、links.getStatsであれば以下のようにです。
FB.api(
{
method: 'links.getStats',
urls: 'facebook.com,developers.facebook.com'
},
function(response) {
alert(
'Total: ' + (response[0].total_count + response[1].total_count));
}
);
Parameters
Name | Type | Description |
---|---|---|
path | String | URLのパス |
method | String | httpメソッド(デフォルトはGET) |
params | Object | クエリパラメータ |
cb | Function | レスポンスを扱うコールバック関数 |