ОБНОВЛЕНИЕ: после октября 2017 года Instagram предлагает только базовые разрешения для любого приложения. :-(
Вы заметили кучу ошибок консоли или отсутствие лент Instagram по всему Интернету? Ага. Это произошло после 1 июня 2016 года, когда в Instagram вступили в силу новые ограничения API, а это значит, что многое из того, что мы раньше могли делать, больше не работает. Это краткое изложение того, что мы можем и что больше не можем делать.
TL;DR
Если вам просто нужна шпаргалка о том, как встраивать сообщения или фид пользователя на веб-сайт, пропустите следующий раздел. Но если вы хотите узнать, почему все ваши инструменты не работают, следующий раздел должен вам помочь.
НОВЫЙ ПЕЙЗАЖ
client_id vs auth_token
Похоже, client_id больше не будет работать для аутентификации. Для каждого запроса API, который я выполнял до сих пор, требуется токен. Если вы видите документацию, которая инструктирует вас использовать client_id или auth_token для аутентификации, ожидайте, что сработает только последний. Вот бесплатный инструмент, который поможет вам вручную сгенерировать токен Instagram.
Что такое режим песочницы?
Режим песочницы - это привратник (название которого не интуитивно понятно), отгораживающее большую часть того, что вы хотите сделать. Это статус по умолчанию для всех клиентов, которые не прошли строгий процесс отправки. Клиент API в режиме песочницы имеет чрезвычайно ограниченные разрешения. Фактически, у него меньше разрешений, чем у анонимного пользователя, просматривающего общедоступный контент, потому что ваше приложение в основном живет на крошечном необитаемом острове, на котором вы единственный пользователь Instagram и существуют только ваши последние двадцать сообщений. Так, например, / media / search endpoint будет возвращать только медиафайлы, которые вы загрузили рядом с заданным местом, исключая медиафайлы от всех остальных или любые сообщения за пределами ваших последних двадцати.
Кто такие пользователи Sandbox?
Пользователи Sandbox - это другие пользователи Instagram, которых вы приглашаете в свой клиент. Основная причина этого в том, чтобы ваше приложение могло видеть их последние двадцать сообщений в дополнение к вашим собственным. Другими словами, когда они принимают приглашение, они появляются на крошечном необитаемом острове, где живет ваше приложение. Осторожно: никто из моих приглашенных не получил уведомления, когда я их пригласил. Мне пришлось посоветовать им войти в Instagram, а затем посетить https://www.instagram.com/developer/clients/sandbox_invites/. Затем им нужно будет отправить короткую расплывчатую форму для регистрации в качестве разработчика. Если они не разработчики, они будут сбиты с толку этими вопросами, но, к счастью, ответы, похоже, не имеют значения.
Области действия и режим песочницы
Различие между областями действия и режимом песочницы легко запутать, потому что оба ограничивают то, что ваше приложение может и не может делать. Области видимости - это разрешения, как мы обычно думаем о них. Например, практически все, что вы хотите делать, кроме просмотра собственных сообщений и профиля, потребует области public_content. Независимо от того, находится ли ваше приложение в режиме песочницы или в реальном времени, эти правила не меняются. Думайте о масштабах как о законах или правилах, которые определяют, на что ваше приложение имеет разрешение, тогда как режим определяет, находится ли ваше приложение в реальном мире (Live) или на крошечном необитаемом острове (режим Sandbox).
Процесс отправки (также известный как GO LIVE)
Чтобы ваше приложение могло просматривать общедоступный контент от кого-либо, кроме вас или пользователей вашей песочницы, ему потребуется «GO LIVE» через процесс отправки / утверждения. который тщательно исследует ваш конкретный вариант использования и отклоняет любой вариант использования, который не вписывается в одно из этих трех полей:
- «Мое приложение позволяет людям входить в Instagram и делиться своим контентом»
- «Мой продукт помогает брендам и рекламодателям понимать свою аудиторию и права СМИ, управлять ими».
- «Мой продукт помогает вещательным компаниям и издателям находить контент, получать цифровые права на медиа и делиться медиа с надлежащей атрибуцией».
Если вы не можете убедить лордов Instagram, что ваше приложение служит одной из этих трех целей, не ждите, что оно получит одобрение.
КАК
Это краткая шпаргалка о том, что вы, возможно, захотите делать с Instagram в Интернете. В каждом наборе инструкций предполагается, что ваша учетная запись Instagram уже зарегистрирована как разработчик.
Как показать канал Instagram на своем веб-сайте
Да, вы все равно можете это сделать, но только ваши последние двадцать сообщений. Старые сообщения будут недоступны. Для этого вам необходимо:
- Зарегистрируйте клиента
- [необязательно] Используйте идентификатор клиента и секрет клиента из вашего приложения, чтобы сгенерировать токен аутентификации вручную
- Выполните аутентификацию с использованием токена аутентификации (не идентификатора клиента).
Показывать чужие сообщения на своем веб-сайте
Да, вы все равно можете это сделать, но будет действовать то же ограничение на двадцать публикаций. Кроме того, вы можете пригласить не более десяти «пользователей песочницы», что фактически означает, что вы можете показывать сообщения только от 10 разных людей. Имейте в виду, что даже если они примут приглашение, ваш токен нужно будет запросить с областью действия public_content, чтобы это работало. Для этого вам потребуется:
- Зарегистрируйте клиента
- На вкладке «Песочница» экрана редактирования вашего клиента пригласите пользователей Instagram, чьи сообщения вы хотите показывать, стать «пользователем песочницы» вашего клиента.
- Попросите ваших приглашенных проверить страницу Приглашения в песочницу и принять их (они не будут уведомлены). Им нужно будет заполнить загадочную анкету разработчика, прежде чем они смогут принять участие.
- [необязательно] Используйте идентификатор клиента и секрет клиента из вашего приложения, чтобы сгенерировать токен аутентификации вручную. ПРИМЕЧАНИЕ. Чтобы отображать другой контент от пользователей Sandbox, кроме вас самих, вы должны установить флажок для запроса области public_content при запросе токена.
- Выполните аутентификацию с использованием токена аутентификации (не идентификатора клиента).
Показывать сообщения с определенным хэштегом
. Это больше не работает. Технически вы можете сделать это, выполнив те же действия, которые указаны выше для отображения сообщений другого пользователя. Но помните: в режиме песочницы вы получите результаты только из последних двадцати сообщений любого из пользователей вашей песочницы. Так что, если вы и ваши друзья не используете хэштег, результаты будут скудными. Облом. Я знаю.
Вставьте одну фотографию / видео на свой сайт
Они хотят, чтобы вы использовали их официальный встроенный виджет или их конечную точку oEmbed, для которой не требуется токен авторизации.
«Мы предоставляем два способа программного добавления сообщения Instagram на вашу страницу: конечную точку oEmbed и конечную точку простого добавления URL. Также не требуется access_token или client_id ».
Удачи вам в получении этого виджета, соответствующего дизайну вашего сайта.
Кнопка Follow
Я больше не знаю, как это сделать… по крайней мере, в режиме песочницы. Как бы то ни было, виджет встроенного мультимедиа (см. Выше) содержит кнопку «следовать».
Заключение
Я намерен, чтобы эта статья со временем развивалась по мере того, как я узнаю больше о том, что возможно, а что невозможно с помощью нового Instagram API. Если я допустил какие-либо ошибки, или если вы придумали, как сделать что-то отличное, о чем здесь не упоминается, сообщите мне в комментариях, и я добавлю это. Мы преодолеем это вместе.
Эпилог
Пожалуйста, поймите, что я не могу отлаживать все приложения в комментариях к этой статье. Если вам нужна помощь по конкретному проекту, свяжитесь со мной напрямую, чтобы назначить консультацию. Почти во всех случаях я могу рассказать вам все, что вам нужно знать за один сеанс. Буду рад совместной работе с Вами.