メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2009年7月5日日曜日

[Apache Shindig][お勉強][OpenSocial] メモ41 opensocial.hasPermission()

opensocial.hasPermission()

説明書きによると、


指定した許可へのアクセス権が現在のガジェットに付与されている場合は true を返します。
 

とのこと。
パラメータは、

opensocial.Permission
 



うーむ。opensocial.Permissionを見ると、
VIEWERしかフィールドが無い。


opensocial.hasPermission(opensocial.Permission.VIEWER);
 

として使うっぽい。
これで、閲覧者(VIEWER)はアクセス権限があるかどうか問い合わせることができる。

ということでやってみる。

<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="opensocial.hasPermission()">
<Require feature="opensocial-0.8" />
</ModulePrefs>
<Content type="html"><![CDATA[
<h1>opensocial.hasPermission()</h1>
<div id='env'></div>
<script type="text/javascript">

alert(opensocial.hasPermission(opensocial.Permission.VIEWER));

</script>
]]>
</Content>
</Module>
 

なんてなGadgetを作って実行してみると、、
falseってalertが表示される。
falseが返ってくる場合は、何かしらのリクエストをGadgetから投げると、

opensocial.ResponseItem.Error.UNAUTHORIZED
 

が返ってくるらしい。
意味的には、VIEWERの情報を取得できるかどうか、なんですかね。
falseの場合には、アクセス権限を求めることができるらしい。
opensocial.requestPermission()というものを使うとのこと。

container.jsにもコメントでrequestPermissionと書いてあるが、
関係があるかどうかはまだソース読んでいないのでわからない。

--
デフォルトでは、

opensocial.Container.prototype.hasPermission = function(permission) {
return false;
};
 

となっているので、必ずfalse。
コンテナを実装するにあたって、実装しなければならないメソッドらしい。

.

0 コメント: