Изменения в Facebook API с 30 апреля 2015 года

Operation Developer Love. Подавление разработчиков в любовном порыве

30 апреля 2015 года вступят в силу, пожалуй, самые драматичные изменения в Facebook API за всю его историю. Они коснутся всех без исключения разработчиков. В сущности, это не столько изменения, сколько ограничения, которые для многих приложений будут означать либо прекращение их существования, либо существенное урезание функционала (которое, опять же, поставит под вопрос смысл их существования).

Нам тоже придется отказаться от фейсбучного функционала на крупном проекте. Я посмотрел сегодня — у нас порядка 30 тысяч пользователей воспользовались этим функционалом за все время, и теперь его не будет. Фейсбук хочет, чтобы все просто сидели в Фейсбуке. В интернете OpenGraph уже называют ClosedGraph, что достаточно точно отражает суть происходящего.

Итак, что же произойдет 30 апреля?

API 2.0 станет обязательным

Начнем с того, что еще с 30 апреля прошлого, 2014 года вновь создаваемые приложения не могли использовать API 1.0; для них версия 2.0 уже была обязательной. В этом году она станет обязательной для всех. Ее возможности существенно ограничены.

Получение дополнительных прав доступа необходимо обосновать

Теперь, если вы хотите запросить у пользователя более трех базовых прав доступа (профиль, почта, друзья), необходимо подать в Facebook запрос на одобрение конкретных прав. Если этого не сделать, с 30 апреля для вашего приложения все будет выглядеть так, как будто пользователь прав доступа не дал.

Не все права доступа можно получить

Это ключевой момент. Многих прав доступа, которыми разработчики пользовались долгое время, теперь им не видать (доступ к сообщениям, уведомлениям, новостной ленте и т.п. ). Когда вы подаете запрос на одобрение, вы можете увидеть характерную приписку:

This permission is granted to apps building a Facebook-branded client on platforms where Facebook is not already available. For example, Android and iOS apps will not be approved for this permission. In addition, Web, Desktop, in-car and TV apps will not be granted this permission.

Проще говоря, получить права, позволяющие разработать что-либо, хотя бы отдаленно напоминающее функционал официальных приложений Фейсбука, теперь можно только для платформ, где Фейсбука еще нет. А где его нет? Правильно, он есть практически везде.

Что теперь нельзя сделать на платформе Facebook?

  • Получить доступ к полному списку друзей пользователя (вы получите список только тех друзей, которые также установили данное приложение)
  • Как следствие — узнать дни рождения, годовщины, прочие события у друзей пользователя
  • Получить доступ к личным сообщениям, а также к счетчикам сообщений
  • Получить доступ к входящим уведомлениям, запросам в друзья — уведомить пользователя в стороннем приложении будет нельзя
  • Разработать приложение, дающее рекомендации по музыке, кафе и ресторанам, путешествиям, сайтам, образовательным учреждениям на основе активности друзей пользователя и их интересов
  • Разработать приложение, получающее доступ к фотографиям друзей (чтобы, например, распечатать их в подарок)
  • Разработать что-либо, относящееся к родословной, потенциальным друзьям, родственникам и т.п. 
  • Разработать приложение для знакомств на основе социального графа пользователя
  • Разработать что-либо с использованием новостной ленты пользователя, представить ее в каком-то ином виде, чем это делает сам Фейсбук. Получить доступ к ленте невозможно
  • Многое другое тоже невозможно

Почему это происходит и чего ждать в будущем?

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

Нельзя сказать, что этот случай — что-то особенное, ведь тот же путь проходили и Гугл, и Твиттер. Пока платформа активно росла и развивалась, нужно было привлечь разработчиков, которые помогали бы вовлекать пользователей. Когда вам начинает казаться, что вы владеете миром, от интерфейсов, ведущих вовне, можно начинать избавляться — ведь миллионы пользователей, а то и миллиарды, уже подсели на вашу иглу, и выпускать их за пределы загончика нежелательно (они могут увидеть там что-то альтернативное). Все это всегда обосновывается заботой о безопасности пользователей и их личной информации.

Таким образом, если платформа считает, что захват мира в целом успешно осуществлен, ожидать послаблений не стоит. Я бы скорее ожидал дальнейшего закручивания гаек. Кстати, с 2016 года полностью уходит в небытие внутренний язык запросов FQL (Facebook Query Language), который позволял делать более или менее эффективные запросы. Поскольку запрашивать будет особенно нечего, не нужен будет и язык. В будущем Фейсбук может прикрыть и другие возможности, оставив только необходимое — для создания игр и других приложений, задерживающих пользователя внутри сети.

Используете Facebook API? Вам не повезло.

Лично для меня это не будет большой потерей, все-таки 30 тысяч фейсбучных пользователей — это не так много по сравнению с количеством пришедших из ВК или Одноклассников. Другое дело, что многие параллельно пользуются несколькими социальными сетями, и отказываясь от вовлечения людей через сторонние приложения, Фейсбук предлагает им полностью пересесть к себе. Если говорить только о России, то в Фейсбук в России я никогда особенно не верил — они не умеют работать с этим рынком, поэтому для российского Фейсбука 30 апреля станет скорее печальной датой.

Что же касается всемирного господства, возможно, вышвыривание сторонних разработчиков как-то и поспособствует укреплению позиций. Другой вопрос, знает ли Фейсбук, чем он хочет быть, захватив мир — мне кажется, уверенности у него нет. А оглядываясь назад, можно предположить, что и Myspace, и Classmates когда-то думали, что весь мир — у их ног.