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 コメント:
コメントを投稿