Обзор

Graph API для Instagram — это подборка конечных точек Graph API для Facebook, с помощью которых приложения могут получать доступ к данным профессиональных аккаунтов Instagram (бизнес-аккаунтов и аккаунтов авторов). Если вы ещё не работали с Graph API, сначала ознакомьтесь с документацией по нему.

Базовый URL

Доступ ко всем конечным точкам осуществляется через хост graph.facebook.com.

Пользователи приложения

Доступ к профессиональным аккаунтам Instagram предоставляется через связанные аккаунты Facebook. Пользователи должны применять эти аккаунты при входе в ваше приложение. Кроме того, у аккаунта Facebook должно быть разрешение на выполнение задач уровня администратора на Странице Facebook, связанной с аккаунтом Instagram, доступ к которому они хотят получить.

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

Аутентификация

Аутентификация пользователей приложения проводится с помощью маркеров доступа. Доступ к профессиональным аккаунтам Instagram предоставляется через связанные аккаунты Facebook, поэтому во всех вызовах API необходимо указывать маркер доступа пользователя Facebook. Чтобы получать маркеры доступа от пользователей приложения, можно реализовать вход через Facebook. Обратите внимание: данные для входа в Instagram не подходят для входа через Facebook.

Получение разрешения

Для авторизации на конечных точках применяются разрешения и функции. Чтобы приложение могло использовать конечную точку для доступа к данным Instagram своего пользователя, сначала нужно запросить у этого пользователя все разрешения, необходимые для этих конечных точек. Пользователь должен предоставить эти разрешения вашему приложению. Получив соответствующие разрешения, приложение может запрашивать данные пользователя у этих конечных точек.

Обратите внимание: разрешение служит для доступа только к данным, созданным пользователем, который его предоставил. Есть ряд конечных точек, позволяющих приложению работать с данными, которые не были созданы его пользователем, однако объем таких данных ограничен, и они являются общедоступными.

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

В API используются следующие разрешения и функции:

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

Обмен сообщениями в Instagram

Если вы планируете реализовать обмен сообщениями в Instagram Messaging с платформы Messenger, вам необходимо будет добавить разрешение instagram_manage_messages. Подробнее об обмене сообщениями в Instagram см. в этом разделе .

Соавторы

Функция Instagram Collab позволяет пользователям Instagram публиковать контент в соавторстве с другими аккаунтами.

В большинстве случаев данные контента соавторов или информация о нем доступны только пользователю, опубликовавшему контент. Доступ предоставляется через API. Соавторы контента не могут получить доступ к этим данным через API. Исключения — поиск самого популярного контента или недавно опубликованного контента, отмеченного определенным хэштегом. См. статью Поиск по хэштегу.

Страницы

Чтобы доступ к данным профессионального аккаунта Instagram можно было получить с помощью API, этот аккаунт должен быть привязан к Странице Facebook. После привязки аккаунта все пользователи Facebook, у которых есть разрешение на выполнение задач на этой Странице, смогут предоставлять вашему приложению маркер доступа для выполнения запросов API.

Информацию о том, как связать Страницу Facebook с профессиональным аккаунтом Instagram, см. в нашей справочной статье Добавление и изменение Страницы Facebook, связанной с профессиональным аккаунтом Instagram.

Задачи

Чтобы пользователь приложения мог предоставить ему разрешения, он должен иметь возможность выполнять задачи на Странице Facebook, связанной с аккаунтом Instagram, к которому требуется получить доступ. Пользователи приложения могут предоставлять ему разрешения на основе задач, которые они могут выполнять, описанным ниже образом.

РазрешениеMANAGECREATE_CONTENTMODERATEADVERTISEANALYZE

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

Чтобы определить, какие задачи пользователь приложения может выполнять на Странице, отправьте запрос к конечной точке GET /me/accounts с маркером доступа данного пользователя. Конечная точка вернет список Страниц, на которых этот пользователь приложения может выполнять задачи, и укажет, какие именно задачи ему доступны на каждой Странице.

Разрешения, необходимые для каждой конечной точки, перечислены в этой статье. API не поддерживает системных пользователей Business Manager и пользователей приложений с ролью "Соавтор для прямого эфира".

Обозначения задач

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

Классическая версия Страниц

В классической версии Страниц задачи называются ролями. Пользователи приложения с ролью администратора на Странице могут предоставить приложению любое разрешение. Пользователи с другими ролями в приложении могут представлять перечисленные ниже разрешения.

РольПредоставляемые разрешения

Редактор

instagram_basic
instagram_content_publish

Модератор

instagram_basic
instagram_manage_comments
instagram_manage_insights

Рекламодатель

instagram_basic
instagram_manage_insights

Аналитик

instagram_basic
instagram_manage_insights

Новая версия Страниц

В новой версии Страниц задачи упоминаются в терминах доступа к Facebook или доступа для выполнения определенных задач. Пользователи с доступом к Facebook могут предоставить приложению любое разрешение. Пользователи приложения с доступом к задачам могут представлять перечисленные ниже разрешения.

Доступ для выполнения определенных задачПредоставляемые разрешения

Реклама

instagram_basic

Контент

instagram_basic
instagram_content_publish

Статистика

instagram_basic
instagram_manage_insights

Действия с сообщениями и в сообществе

instagram_basic
instagram_manage_comments

Узнать, использует ли Страница возможности новой версии, можно через запрос поля has_transitioned_to_new_page_experience. Если используется новая версия Страниц, будет возвращено значение true.

Проверка приложения

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

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

Частные приложения

Если нашим проверяющим невозможно проверить ваше приложение из-за того, что оно находится в закрытой интрасети, не имеет пользовательского интерфейса или в нем не реализован вход через Facebook, вы можете запросить только следующие разрешения:

Подтверждение компании

Если вашим приложением будут пользоваться люди без роли в приложении или компании, которая выступает его владельцем, вам понадобится пройти подтверждение компании.

Ограничение числа обращений

Для всех конечных точек действует ограничение числа обращений для коммерческих приложений Instagram. Исключение составляют конечные точки Business Discovery и Hashtag Search, для которых действует ограничение платформы.

Webhooks

С помощью Webhooks вы можете получать уведомления о том, что кто-то оставил комментарий к медиафайлам пользователей вашего приложения или о том, что срок существования их истории заканчивается. Подробнее об использовании Webhooks см. в документации Webhooks. Настройте Webhooks для темы Instagram и подпишитесь на ее поля comments и story_insights.

Обмен сообщениями в Instagram

Пользователи вашего приложения могут взаимодействовать в нем с сообщениями в Direct, отправленными их профессиональным аккаунтам Instagram. Для этого используется комбинация конечных точек Graph API для Instagram и конечных точек платформы Messenger. Информацию о том, как получить доступ к сообщениям в бизнес-аккаунтах Instagram, см. в документации платформы Messenger по обмену сообщениями в Instagram.