У меня проблемы с настройкой конфиденциальности сообщений, созданных моим приложением от имени пользователя.
Проблема в том, что все сообщения получают значение конфиденциальности, установленное как 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);
Это оно.
Этот код работал отлично до тех пор, пока я не заметил его в августе.
Кто-нибудь еще с этим вопросом?
Это связано с новым элементом управления доступом к записи на каждом приложении, если установлено значение «Друзья», поэтому это приложение может устанавливать только конфиденциальность как друзей.
Пожалуйста, прочитайте следующее сообщение в блоге для получения дополнительной информации: https://developers.facebook.com/blog/post/543/
В вашем примере вы создаете комментарий, а не сообщение. Комментарии не поддерживают параметр privacy = {}.
Это не в их графических API-интерфейсах API, но в этом месяце они изменили «все» на «общедоступные» в пользовательском интерфейсе, чтобы попытаться разъяснить пользователям, что означало «каждый» …
попробуйте использовать '{"value":"PUBLIC"}'
и посмотреть, работает ли он.