Facebook api PHP - 将照片的隐私设置为自定义,但显示“只有我”而不是朋友

时间:2014-08-01 16:16:43

标签: php facebook facebook-graph-api facebook-sdk-4.0 facebook-tag

我正在尝试设置照片的隐私权。我已经标记了测试人员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时,为什么它说“只有我”。

1 个答案:

答案 0 :(得分:0)

是的,你是对的,

隐私设置基于该用户的隐私设置。

Click Here To See

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。然后让他们访问您的应用程序,看看他们是否可以在接受后查看是否在照片中标记了这些应用程序。

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