0

我正在尝试设置照片的隐私。我已标记测试人员 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。当我运行它时,在我的 facebook 上,隐私显示只有我可以看到它——“只有我”和任何被标记的人。对于测试人员 1,它说隐私设置是“自定义”。

我不确定问题是什么。为什么当我指定“自定义”和朋友 ID 时它说“只有我”。

4

1 回答 1

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 @ 点击这里

去你的app/roles Add Testers。然后让他们访问您的应用程序,看看您是否可以在他们接受后立即查看他们是否在照片中被标记。

我不确定会发生什么,但这将是测试它的适当方法。

于 2014-08-01T20:22:53.117 回答