Facebook Graph API переопределяет явно установленные параметры конфиденциальности - PullRequest
7 голосов
/ 29 августа 2011

У меня проблемы с настройкой конфиденциальности для сообщений, созданных моим приложением от имени пользователя.

Проблема в том, что для всех сообщений значение API конфиденциальности установлено как ALL_FRIENDS в Graph API, хотя я явно устанавливаю значение конфиденциальности КАЖДЫЙ.

Это код, который я использую для отправки:

$query = 'message='. urlencode($message) .'&privacy='. urlencode('{"value":"EVERYONE"}');
$url = 'https://graph.facebook.com/'. $obj_id .'/feed?access_token='. $user_fb_access_token;

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $query);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($curl, CURLOPT_REFERER, $referrer);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($curl);

curl_close($curl);

Вот так.

Этот код прекрасно работал до августа, когда я его заметил.

Кто-нибудь еще имеет эту проблему?

Ответы [ 3 ]

7 голосов
/ 29 августа 2011

Это связано с новым контролем конфиденциальности после публикации для приложения, если для него установлено значение Друзья, поэтому это приложение может устанавливать конфиденциальность только для друзей.

Пожалуйста, прочитайте следующую запись в блоге для получения дополнительной информации: https://developers.facebook.com/blog/post/543/

1 голос
/ 29 августа 2011

В вашем примере вы создаете комментарий, а не пост. Комментарии не поддерживают параметр privacy = {}.

0 голосов
/ 29 августа 2011

Это не входит в их документы API для графов, но в этом месяце они изменили «все» на «общедоступные» в пользовательском интерфейсе, чтобы попытаться прояснить пользователям, что означает «все» ...

попробуйте использовать '{"value":"PUBLIC"}' и посмотрите, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...