Конечно, это лучший способ сделать это.
До июня 2016 года она также можно использовать клиент-идентификатор делать запросы, несмотря на маркер доступа. Но это устарело, поэтому не используйте его.
От Instagram:
Instagram API требует access_token от прошедших проверку пользователей для каждой конечной точки. Мы больше не поддерживаем запросы, используя только client_id.
Чтобы избежать пользователи должны войти в систему, вы можете разрешить свой пользователю создать access_token и сделать все запросы с этим маркером. Но это не очень хорошая идея из-за ограничений скорости API.
От Instagram:
Все ограничения скорости на Instagram платформы управляются отдельно для каждый маркер доступа, и на скользящем 1-часового окна.
И Global Rate Limits:
Sandbox Mode - 500 запросов/час
Live Mode - 5000 запросов/час
Так что, если вы используете только один access_token вы будете ограничивать 5000 запросов в час (в режиме реального времени) для всех пользователей вашего сайта, а доступ к приложениям может быть заблокирован Instagram.
Самый лучший и безопасный способ заставить пользователей войти в систему с Instagram, сгенерировать access_token для каждого пользователя, а затем выполнить запросы с использованием токена пользователей (с 5000 запросами на пользователя в час).
Удачи.