Instagram API с входом через Facebook — это подборка конечных точек Facebook Graph API, с помощью которых приложения могут получать доступ к данным профессиональных аккаунтов Instagram (бизнес-аккаунтов и аккаунтов авторов). Если вы ещё не работали с Graph API, сначала ознакомьтесь с документацией по нему.
Доступ ко всем конечным точкам осуществляется через хост graph.facebook.com
.
Доступ к профессиональным аккаунтам Instagram предоставляется через связанные аккаунты Facebook. Пользователи должны применять эти аккаунты при входе в ваше приложение. Кроме того, у аккаунта Facebook должно быть разрешение на выполнение задач уровня администратора на Странице Facebook, связанной с аккаунтом Instagram, доступ к которому они хотят получить.
Эти требования действуют для всех пользователей приложения, даже для тех, у кого есть роль в нем или в компании, выступающей его владельцем.
Аутентификация пользователей приложения проводится с помощью маркеров доступа. Доступ к профессиональным аккаунтам Instagram предоставляется через связанные аккаунты Facebook, поэтому во всех вызовах API необходимо указывать маркер доступа пользователя Facebook. Чтобы получать маркеры доступа от пользователей приложения, можно реализовать вход через Facebook. Обратите внимание: данные для входа в Instagram не подходят для входа через Facebook.
Для авторизации на конечных точках применяются разрешения и функции. Чтобы приложение могло использовать конечную точку для доступа к данным Instagram своего пользователя, сначала нужно запросить у этого пользователя все разрешения, необходимые для этих конечных точек. Пользователь должен предоставить эти разрешения вашему приложению. Получив соответствующие разрешения, приложение может запрашивать данные пользователя у этих конечных точек.
Обратите внимание: разрешение служит для доступа только к данным, созданным пользователем, который его предоставил. Есть ряд конечных точек, позволяющих приложению работать с данными, которые не были созданы его пользователем, однако объем таких данных ограничен, и они являются общедоступными.
Для запроса разрешений у пользователей приложения можно реализовать вход через Facebook. Пользователи, у которых есть роль в вашем приложении, могут предоставлять все запрошенные разрешения. Пользователи, не имеющие роли в вашем приложении, могут предоставлять только разрешения и доступ к функциям, которые были одобрены в рамках процесса проверки приложения.
В API используются следующие разрешения и функции:
Сведения о том, какие разрешения и функции приложение должно будет запрашивать у пользователей, см. в нашей справке по конечным точкам.
Если вы планируете реализовать обмен сообщениями в Instagram Messaging с платформы Messenger, вам необходимо будет добавить разрешение instagram_manage_messages
. Подробнее об обмене сообщениями в Instagram см. в этом разделе .
Функция Instagram Collab позволяет пользователям Instagram публиковать контент в соавторстве с другими аккаунтами.
В большинстве случаев данные контента соавторов или информация о нем доступны только пользователю, опубликовавшему контент. Доступ предоставляется через API. Соавторы контента не могут получить доступ к этим данным через API. Исключения — поиск самого популярного контента или недавно опубликованного контента, отмеченного определенным хэштегом. См. статью Поиск по хэштегу.
Чтобы доступ к данным профессионального аккаунта Instagram можно было получить с помощью API, этот аккаунт должен быть привязан к Странице Facebook. После привязки аккаунта все пользователи Facebook, у которых есть разрешение на выполнение задач на этой Странице, смогут предоставлять вашему приложению маркер доступа для выполнения запросов API.
Информацию о том, как связать Страницу Facebook с профессиональным аккаунтом Instagram, см. в нашей справочной статье.
Чтобы пользователь приложения мог предоставить ему разрешения, он должен иметь возможность выполнять задачи на Странице Facebook, связанной с аккаунтом Instagram, к которому требуется получить доступ. Пользователи приложения могут предоставлять ему разрешения на основе задач, которые они могут выполнять, описанным ниже образом.
Разрешение | MANAGE | CREATE_CONTENT | MODERATE | ADVERTISE | ANALYZE |
---|---|---|---|---|---|
instagram_basic | ✔ | ✔ | ✔ | ✔ | ✔ |
instagram_content_publish | ✔ | ✔ | |||
instagram_manage_comments | ✔ | ✔ | ✔ | ||
instagram_manage_insights | ✔ | ✔ | ✔ | ✔ | ✔ |
Чтобы определить, какие задачи пользователь приложения может выполнять на Странице, отправьте запрос к конечной точке GET /me/accounts
с маркером доступа данного пользователя. Конечная точка вернет список Страниц, на которых этот пользователь приложения может выполнять задачи, и укажет, какие именно задачи ему доступны на каждой Странице.
Разрешения, необходимые для каждой конечной точки, перечислены в этой статье. API не поддерживает пользователей приложений с ролью "Соавтор для прямого эфира".
Если вам требуется предоставить пользователям приложения сведения о задачах (в том числе о тех, доступ к которым им нужен для нормальной работы с приложением), ознакомьтесь с тем, как эти задачи называются в различных частях нашего пользовательского интерфейса.
В классической версии Страниц задачи называются ролями. Пользователи приложения с ролью администратора на Странице могут предоставить приложению любое разрешение. Пользователи с другими ролями в приложении могут представлять перечисленные ниже разрешения.
Роль | Предоставляемые разрешения |
---|---|
Редактор | instagram_basic |
Модератор | instagram_basic |
Рекламодатель | instagram_basic |
Аналитик | instagram_basic |
В новой версии Страниц задачи упоминаются в терминах доступа к Facebook или доступа для выполнения определенных задач. Пользователи с доступом к Facebook могут предоставить приложению любое разрешение. Пользователи приложения с доступом к задачам могут представлять перечисленные ниже разрешения.
Доступ для выполнения определенных задач | Предоставляемые разрешения |
---|---|
Реклама | instagram_basic |
Контент | instagram_basic |
Статистика | instagram_basic |
Действия с сообщениями и в сообществе | instagram_basic |
Узнать, использует ли Страница возможности новой версии, можно через запрос поля has_transitioned_to_new_page_experience
. Если используется новая версия Страниц, будет возвращено значение true
.
Прежде чем приложением смогут пользоваться люди без роли в приложении или компании, которая выступает его владельцем, оно должно пройти проверку. Если приложение будет использоваться только пользователями, у которых есть роль в приложении или компании, проходить проверку не нужно.
Если вы реализовали вход через Facebook и приложение общедоступно, в заявке на проверку не нужно указывать данные для входа тестового пользователя Facebook. Однако если нашим проверяющим потребуется войти в сторонний аккаунт (не Facebook), чтобы запустить механизм входа через Facebook, укажите данные этого аккаунта в заявке.
Если нашим проверяющим невозможно проверить ваше приложение из-за того, что оно находится в закрытой интрасети, не имеет пользовательского интерфейса или в нем не реализован вход через Facebook, вы можете запросить только следующие разрешения:
Если вашим приложением будут пользоваться люди без роли в приложении или компании, которая выступает его владельцем, вам понадобится пройти подтверждение компании.
Для всех конечных точек действует ограничение числа обращений для коммерческих приложений Instagram. Исключение составляют конечные точки Business Discovery и Hashtag Search, для которых действует ограничение платформы.
С помощью Webhooks вы можете получать уведомления о том, что кто-то оставил комментарий к медиафайлам пользователей вашего приложения или о том, что срок существования их истории заканчивается. Подробнее об использовании Webhooks см. в документации Webhooks. Настройте Webhooks для темы Instagram
и подпишитесь на ее поля comments
и story_insights
.
Чтобы пользователи вашего приложения могли взаимодействовать с сообщениями в Direct, отправленными в их профессиональные аккаунты Instagram, используются несколько конечных точек Instagram API с входом через Facebook в сочетании с конечным точками платформы Messenger. Информацию о том, как получить доступ к сообщениям в бизнес-аккаунтах Instagram, см. в документации платформы Messenger по обмену сообщениями в Instagram.