July 21, 2012

FacebookのAPIで画像をアルバムにpostする時、プライバシー設定が効かない。


FacebookのAPIを用いて画像をpostする時に、プライバシー(公開範囲)設定で
少しハマったのでメモしておきます。

ドキュメント:
https://developers.facebook.com/docs/reference/api/post/

FacebookのAPIでpostする時、privacyパラメータで公開範囲の指定が可能です。
* PHPでの例
'privacy' => array(
    'value' => 'CUSTOM',
    'friends' => 'SELF',
),

この時に注意しなければならないのが、前述のドキュメントのprivacy項に記載されている
Note: This privacy setting only applies to ...
の部分。

自アカウントへのpostなら指定されたプライバシー設定を受け付けるが、
他アカウントへのpost時には無視します。みたいな事が書かれています。

Facebookはユーザのみでなく、アルバムや画像にも同等なidを付与する仕様から、
自身が所有するアルバムも、Facebook側では他アカウントとみなすと思われます。

具体的には、ユーザにもアルバムにも画像にも、その他全ての情報(?)に
以下の形式でアクセスが可能な仕様です。
ttps://www.facebook.com/[id]

つまり、自身のidと、自身の所有するアルバムのidは異なり、
他アカウント扱いとなるようです。

なので、このアルバムにこのプライバシー設定で画像をpostする。と処理を書いても、
他アカウントへのpostとして扱われてしまい、そのプライバシー設定は無視される。
(アルバム側の設定に依存する。)
となるのかなーと。

だとすれば納得ですね。。。
誤認識を含んでいたらすみません。

No comments:

Post a Comment