mixiアプリ » 技術仕様(Graph API方式) » PC » パーミッションモデルについて
パーミッションモデルについて
mixi Platformでは、数多くのAPIを提供しています。各APIは、mixiアプリ(PC版)やmixiアプリモバイルから利用することができます。さらに、APIによってユーザーのプロフィール情報や友人一覧といった情報にアクセスすることが可能となります。特に個人情報や他のユーザーの情報を扱うAPIについて、mixi Platformでは取得や更新に関して一定のルールを定め、情報へのアクセスに関する制限を行っています。このルールのことを「パーミッションモデル」呼びます。
ここでは、mixiアプリにおけるパーミッションモデルについて説明いたします。
対象となる情報
パーミッションモデルによる制限の対象となる情報は、以下となります。これらの情報について、全て持ち主となるユーザーが存在します。
-
PeopleAPI からアクセスできるもの
-
ユーザーの基本情報
(ニックネーム、プロフィールURL、プロフィール画像URL、血液型) -
ユーザーのプロフィール情報
(現住所、年齢、生年月日、性別) - ユーザーの友人一覧情報
-
ユーザーの基本情報
-
Persistence API
- 永続化情報
mixiアプリからAPIを利用して上記の情報を取得あるいは更新しようとした際に、パーミッションモデルが適用されます。
考慮される条件
情報を取得あるいは更新することが可能かどうかを判断するために、以下の条件が考慮されます。これらの組み合わせに関して、それぞれ取得あるいは更新が許可されるかどうかがパーミッションモデルとして定められています。
- 取得あるいは更新対象の情報の持ち主であるユーザーは誰か
- 取得あるいは更新対象の情報の持ち主であるユーザーと、対象のmixiアプリのViewerとの関係
- 取得あるいは更新対象の情報の持ち主であるユーザーが、対象のmixiアプリをインストールしているかどうか
- 情報を取得あるいは更新するために呼び出したAPIの種別
- 取得あるいは更新対象の情報のプライバシー設定(全体公開、友人まで公開など)
これらの情報が複合的に評価され、制限の有無が決定されます。
ここで注意すべき点として、あくまでmixiアプリごとにパーミッションモデルが適用されるということがあげられます。複数のmixiアプリを提供していて、そのうち一つのmixiアプリをユーザーがインストールしているからといって、その他のmixiアプリからでもそのユーザーの情報にアクセスできるということではありません。
基本的なルール
mixiアプリにおけるパーミッションモデルについて、最も基本的となるルールについて以下に示します。mixiアプリがAPIを使って「誰の」情報を取得あるいは更新できるのか、という観点で説明いたします。
mixiアプリをインストールしているユーザーの基本情報およびプロフィール情報の取得は許可されます
あるmixiアプリをインストールしているユーザーの情報を、mixiアプリから取得することは許可されます。この際、Viewerが誰かは考慮外となります。つまり、あるmixiアプリをインストールしているユーザーのIDを指定して情報の取得を行うことは、任意のユーザーによってそのmixiアプリが実行されている状況でいつでも可能となります。
この場合、基本情報については制限を受けることなくmixiアプリは取得することが可能です。プロフィール情報については、「全体公開」「友人まで公開」「友人の友人まで公開」のいずれかが設定されている項目のみ取得が可能となります。
mixiアプリをインストールしていないユーザーの基本情報およびプロフィール情報の取得は制限を受けます
あるmixiアプリをインストールしていないユーザーの情報をmixiアプリから取得しようとした場合、取得可能な情報は制限を受けます。例えば、取得対象の情報がプロフィール情報だった場合、対象ユーザーがViewerの友人かつ、対象ユーザーが「全体公開」と設定している項目のみ、mixiアプリから取得することができます。
ただし、ユーザーはインストールしていないmixiアプリに対して、ユーザーは基本情報およびプロフィール情報を取得できないように設定することが可能です。この設定は、「未利用アプリのプライバシー設定」画面にて行うことができます。また、この設定は基本情報およびプロフィール情報の各項目ごとに行われます。もしユーザーが「公開しない」と設定を行っていた場合は、上記の条件に合致したとしても、mixiアプリはその項目を取得することはできません。
このルールは、あるユーザーが、友人ではないユーザーのプロフィール画面に訪れた際に、その画面に配置されたmixiアプリから基本情報を暗黙的に取得されることはない、ということを意味しています。
友人の取得は制限を受けます
友人の取得について、任意のユーザーに対してmixiアプリから友人の一覧を取得することを行うことはできません。友人の取得は、実行されているmixiアプリのViewerにのみ行うことが可能です。
mixiアプリをインストールしているユーザーの永続化情報の取得は許可されます
あるmixiアプリをインストールしているユーザーの永続化情報を、mixiアプリから取得することは許可されます。この際、Viewerが誰かは考慮外となります。つまり、あるmixiアプリをインストールしている任意のユーザーのIDを指定して、永続化情報の取得を行うことが可能ということです。
そのため、パスワードなど保護されるべき重要な情報を格納するための場所として適していませんので、ご注意ください。
あるmixiアプリをインストールしていないユーザーに対して永続化情報を取得することは、一切許可されません。
mixiアプリをインストールしているユーザーの永続化情報の更新はViewerのみ許可されます
mixiアプリの永続化情報は、そのmixiアプリを利用しているユーザー(Viewer)が自身の持ち物として永続化情報を作成、更新および削除を行うことのみが許可されます。mixiアプリは、Viewerとなるユーザー以外の任意のユーザーIDを指定して永続化情報の更新を行うことは一切許可されません。
パーミッションマトリクス
上記のパーミッションモデルを表にまとめたものが以下となります。mixiアプリが各情報の取得をAPIにより行う際に指定したIDが誰なのか(Owner, Viewer, Ownerの友人、Viewerの友人)と、そのユーザーのmixiアプリのインストール状況を観点として、下記の表を参照ください。
なお、Viewerがアプリを未インストールの場合、アプリは動作しません。
ユーザーの基本情報、プロフィール情報、友人一覧の取得
取得対象ユーザー | インストール状況 | 基本情報 | プロフィール情報 | |
---|---|---|---|---|
Viewer | Self | インストール済み | ● | ○ |
Friends | インストール済み | ● | ○ | |
未インストール | × | × | ||
その他 | インストール済み | ● | ○ | |
未インストール | × | × |
- 「●」は、取得可能を表します。
- 「○」は、「全体公開」「友人まで公開」「友人の友人まで公開」のいずれかであれば取得可能を表します。
- 「▲」は、基本的に取得可能だが、ユーザーが公開をOFFにした場合は取得できないことを表します。
- 「△」は、「全体公開」であれば取得可能だが、ユーザーが公開をOFFにした場合は取得できないことを表します。
永続化情報の取得、更新
対象ユーザー | インストール状況 | 更新(作成、修正、削除) | 取得 | |
---|---|---|---|---|
Viewer | Self | インストール済み | ● | ● |
Friends | インストール済み | × | ● | |
未インストール | × | × | ||
その他 | インストール済み | × | × | |
未インストール | × | × |