Facebook API PHP - настройка конфиденциальности публикации фотографий на пользовательский, но показывает только меня, а не друга

Я пытаюсь установить конфиденциальность фотографии. Я отметил тестера 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, но в моем приложении у меня есть идентификатор. Когда я запускаю это, на моем Facebook конфиденциальность показывает, что это могу видеть только я — «только я» и тот, кто отмечен. Для тестера 1 он говорит, что настройка конфиденциальности является «пользовательской».

Я не уверен, в чем проблема. Почему он говорит «только я», когда я указываю «пользовательский» и идентификатор друга.


person fondillusions    schedule 01.08.2014    source источник


Ответы (1)


Да, ты прав,

Настройка конфиденциальности основана на настройках конфиденциальности этого пользователя.

Нажмите здесь, чтобы посмотреть

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 . Затем попросите их получить доступ к вашему приложению и посмотреть, сможете ли вы увидеть, отмечены ли они на фотографии, как только они примут участие.

Я не уверен, что произойдет, но это был бы подходящий способ проверить это.

person wuno    schedule 01.08.2014
comment
Я не понимаю. Итак, когда я использую настройку API/конфиденциальности для публикации фотографии на Facebook, только люди, использующие мое приложение, могут видеть эту публикацию? Кроме того, я уже протестировал это с помощью тестеров. Пользователь 1 отметил пользователя 2, и в конфиденциальности разрешил пользователю 3 видеть фотографию, однако пользователь 3 все еще не может видеть фотографию. Когда я не указываю конфиденциальность, все пользователи могут видеть сообщение. Смущенный. - person fondillusions; 04.08.2014