opensocial-jquery を jQuery Plugins に登録しました。↓こんな感じです。

jQuery Plugins は、アカウントさえ作成すれば、誰でもいつでもプラグインを登録できちゃうんですね。申請とか許可とか、そいう手続きは不要でした。また、リポジトリは備えていませんが、release や issues, patchs といった管理もできるので、プラグインのプロジェクトポータルとしての使い方もありかもしれません。
JavaScript をこよなく愛する なかじまんソフトウェア株式会社 のスタッフによるブログです。
OpenSocial Container や Social Gadgets の開発を技術面から支援します。
僕はIdSpecに違和感はない。なんでそんなに毛嫌いするの?IdSpecがあるからこそ、ソーシャルグラフから特定の集合を得るための条件を作ることができるんじゃん。面倒だ、という人は代替案を示すべき。私も IdSpec に違和感はありません。ですが、OpenSocial API を知ろうとしたときは、少し理解のしにくさを覚えた記憶があります。
$.ajax({
url: 'http://example.com/data.json',
dataType: 'json',
success: function(data, status) {
console.log(data, status);
},
error: function(xhr, status, e) {
console.info(xhr, status, e);
},
timeout: 5000 // 5s
});
$.ajax({
url: '/people/@viewer/@friends',
data: {},
dataType: 'data',
success: function(data, status) {
console.log(data, status);
},
error: function(xhr, status, e) {
console.info(xhr, status, e);
},
timeout: 5000 // 5s
});
$.ajax({
url: 'http://rss.rssad.jp/rss/gihyo/feed/rss2',
data: {},
dataType: 'feed',
success: function(feed) {
console.info(feed.URL);
console.info(feed.Link);
console.info(feed.Title);
console.info(feed.Description);
console.info(feed.Author);
$.each(feed.Entry, function(i, entry) {
console.info(entry.Link);
console.info(entry.Title);
// console.info(entry.Summary);
console.info(entry.Date);
var date = new Date();
date.setTime(entry.Date);
console.info(date.toLocaleString());
});
},
error: function(xhr, status, e) {
console.info(xhr, status, e);
}
});
$.ajax({
url: '/people/@viewer/@friends',
data: {
fields: 'profileUrl,addresses',
filterBy: 'hasApp',
sortBy: 'name',
startIndex: 0, count: 10
},
dataType: 'data',
success: function(people) {
console.info(people.startIndex);
console.info(people.itemsPerPage);
console.info(people.totalResults);
$.each(people, function(i, person) {
console.info(person.id);
console.info(person.nickname);
});
},
error: function(xhr, status, e) {
console.info(xhr, status, e);
}
});
$.ajax({
type: 'post',
url: '/appdata/@viewer/@self',
data: {
comment: { text: 'Say Hello!', lastModified: new Date().getTime() },
feeling: 'well',
footprint: true
},
dataType: 'data',
success: function() {},
error: function(xhr, status, e) {
console.error(xhr, status, e);
}
});
$.ajax({
url: '/appdata/@viewer/@friends',
data: { fields: 'comment,feeling' },
dataType: 'data',
success: function(data) {
$.each(data, function(userId, data) {
console.info(data.comment.text);
console.info(data.comment.lastModified);
console.info(data.feeling);
});
},
error: function(xhr, status, e) {
console.error(xhr, status, e);
}
});
$.ajax({
url: '/people/@viewer/@friends',
data: {},
dataType: 'data'
}).next(function(people) {
return $.ajax({
url: '/appdata/@viewer/@friends',
data: {},
dataType: 'data'
}).next(function(data) {
return $.map(people, function(person) {
if (data[person.id])
person.data = data[person.id];
return person;
});
});
}).next(function(people) {
$.each(people, function(i, person) {
console.info(person.id);
console.info(person.data);
});
}).error(function(e) {
console.error(e);
});
var params = $.feature('locked-domain');
if (!params ) {
// locked-domain is not supported.
} else {
console.info(params.foo);
console.info(params.bar);
}
こちらや、こちらの方が、同じようなものを作ってらっしゃいますが、カスタマイズされたjQueryを使いたくなかったり、AppDataを取り扱いたかったり、Simpleにはしたくなかったので、jQuery用OpenSocialプラグインを作りました。opensocial-jquery をリンクしてくださったのでリンクをお返しします。opensocial-jquery と jOpenSocial はコンセプトが違うようですね。その違いから触発されるものがあります。そう。今回から AppData を使えるようにしましたので、この場で補足しときます。