2009-04-22

Google Friend Connect での newFetchPeopleRequest OWNER/ADMINS はどういったものなのか調べてみた

おはようございます。なかじまんです。

Google Friend Connect の newFetchPeopleRequest は、いわゆる他の OpenSocial コンテナとは異なり、FRIENDS のほかに ADMINS という groupId を指定できます。この ADMINS がどんなものなのか、ざっと調べてみました。

ADMINS という groupId は、userId が OWNER のときだけ指定できます。Google Friend Connect の OWNER は、ガジェットの所有者ではなく、その SNS 化したいサイト(例えば、このブログ)を表します。ですので、OWNER の ADMINS とは、このサイトの管理者ということになります。

サイトの管理者はどう決まるかというと、はじめに Google Friend Connect の Set up a new site からサイトを登録したときの Google アカウントが管理者になります。また、管理者は追加して複数人とすることもできます。

管理者の追加や削除は、次のように Google Friend Connect サイトでできました。管理者はメールアドレスを指定して追加できます。このメールアドレスは Google アカウントである必要があります。つまり Google Friend Connect のユーザとは異なる管理体系です。また、はじめにサイトを登録したときの管理者は削除できないようです。



次のとおり newFetchPeopleRequest で OWNER の ADMINS を指定すると、サイトの管理者のプロフィールが取得できます。このときのプロフィールは Google Friend Connect ではなく Google Profile の内容になりました。前述のとおり、サイトの管理者は、管理体系が異なるようなので、サイトのメンバーや友達関係とも関係がありません。

$.getData(
'/people/@owner/@admins', { fields: 'profileUrl', count: 100 }
).next(function(people) {
console.log(people);
});

profileUrl を指定しているのですが、取得した内容に含まれませんでした。Google Profile の URL を期待したのですが、何か理由があるのかもしれません。また urls を指定しなくても、マイリンクがどっさり含まれていました。あとは id, aboutMe, displayName といったところです。これ以外に何が取得できるのかは試していませんが、profileUrl にあるように ADMINS は特別な振る舞いをするような予感がします。

上記の JavaScript コードは opensocial-jquery を使って newFetchPeopleRequest を実行しています。最新のリリースである opensocial-jquery 1.0.1
では @admins は使えませんが、次のバージョンで使えるようにします。trunk のものは対応してありますので、よかったら使ってみてください。

あと Google Friend Connect (API) の注目すべきところや、Google Friend Connect ガジェットの特徴や作り方は、次のエントリが詳しいです。一読をオススメします。

0 件のコメント: