我正在尝试设置照片的隐私权。我已经标记了测试人员1并指定我想与测试人员2分享这张照片。
我有以下代码:
$privacy = array(
'value' => 'CUSTOM',
'friends' => 'SOME_FRIENDS',
'allow' => 'tester 2 id',
);
$photo = (new FacebookRequest(
$session,
'PHOTO',
'/me/photos',
array (
'source' => new CURLFile ($location.$name),
'message' => ($caption),
'privacy' => json_encode ($privacy),
)
))->execute()->getGraphObject()->asArray();
//echo '<pre>' . print_r( $photo, 1) . '</pre>';
$photo_id = $photo['id'];
echo $photo_id;
$tags = array( array( 'tag_uid' => $friend_id, 'x' => 0, 'y' => 0 ));
// call api to tag friend to photo, with json_encoded $tags
$tag = (new FacebookRequest( $session, 'POST', '/'.$photo_id.'/tags',
array(
'tags' => json_encode( $tags ) ) ))->execute()->getGraphObject()->asArray();
我没有包含测试人员2的ID,但在我的应用程序中,我有id。当我运行这个时,在我的脸书上隐私显示只有我能看到它 - “只有我”和任何被标记的人。对于测试人员1,它说隐私设置是“自定义”。
我不确定问题是什么。当我指定“自定义”和朋友ID时,为什么它说“只有我”。
答案 0 :(得分:0)
是的,你是对的,
隐私设置基于该用户的隐私设置。
Permissions
A user access token with `user_photos` permission is required to see all photos that person is tagged in or has uploaded.
因此,如果user 2
在图片中被标记并且他们拥有该图片,那么只会显示user 1
,因为他们是唯一接受permission approval
的人。
为了让朋友出现,我相信他们必须通过登录并接受您在array
user_photos
另外我相信Facebook上有一些设置可以让他们不让人们看到他们是tagged in
。
你可以通过进入你的Facebook应用developers.facebook.com @
来测试这个理论
Click Here
转到app/roles
Add Testers
。然后让他们访问您的应用程序,看看他们是否可以在接受后查看是否在照片中标记了这些应用程序。
我不确定会发生什么,但这是测试它的合适方法。