Действительно, Facebook давно, но не очень активно предупреждал разработчиков о предстоящей смене версии его API. И вот, оно случилось.
Тот, кто как и я, решил дождаться пока грянет гром, сейчас спешно читает документацию Facebook и ищет пути выхода. У всех свои проблемы, расскажу об одной.
Теперь приложение не может создавать посты за вас.
То есть нельзя взять и написать скриптик на php, использующий нативное SDK от Facebook или же просто CURL, и чтобы этот скриптик сам постил новости во все социальные сети. У нас был именно такой, и мы встраивали его во все админки нашей CMS, чтобы клиент один раз установив приложение, мог постить новость не только в ленту к себе на сайт, а и сразу во все свои аккаунты соцсетей.
Что поменялось?
Теперь по-умолчанию, без верификации, приложение может получить только ограниченные права. Такие, как email или user_birthday. А вот нужные нам права, дающие возможность писать что-то на стену - нет. Теперь manage_pages, publish_pages и publish_actions выдаются только после прохождения процедуры верификации специалистами Facebook.
Как отправить приложение на верификацию?
Нужно зайти в свое приложение на https://developers.facebook.com/apps/ и выбрать Status and Review. Тут вам придется подробно описать, зачем вам нужны эти права (manage_pages, publish_pages и publish_actions) и как ваше приложение собирается их использовать. Подробно, то есть полностью описать работу, прилагая как можно больше скриншотов. Все на английском.
Спецы Facebook отвечают очень быстро.
Мне прислали ответ через 20 часов после обращения.
Ответ был уже из шаблонов, на русском и гласил вот что:
"Люди должны вводить все материалы в поле сообщения для пользователя. Ваше приложение не может использовать автоматическое заполнение поля сообщения любыми материалами, включая ссылки и хэштеги, даже если вы разрешаете пользователям редактировать материалы перед их публикацией."
Это ответ про запрос права publish_pages. Про publish_actions - то же самое.
manage_pages - разрешили.
То есть получается, что теперь автоматические постилки в Facebook работать не будут. Так как в любом случае, если вы делаете пост с текстом, взятым откуда-то из базы, то это нарушение правила. Facebook разрешает создавать пост только с текстом, введенным непосредственно в окошко перед нажатие кнопки Отправить.
Конечно, можно попробовать обмануть Facebook, написав на индусско-английском и приложив "как бы" скриншоты. Но будьте готовы, что вас попросят предоставить тестовый доступ, чтобы в живую посмотреть процесс от создания поста до отправки. Плюс ко всему, приложение будет обязано иметь Privacy Policy, не текст из бредогенератора, не копипаст с какого-то другого, а именно свою политику. Его также проверят.
В общем, я для себя пока выход не нашел.
Осталась возможность пользоваться такой автопостилкой в случае, если вы являетесь автором приложения и одновременно админом страницы, на которую собираетесь размещать посты. Тогда верификация не требуется и все должно работать как и раньше.