Я выполнил справедливый поиск по документам API Instagram и не могу найти способ определить, имеет ли пользователь открытый или защищенный профиль?
Это также нужно сделать без access_token. У меня есть client_id для использования.
Просто для небольшого контекста я просто создаю небольшое практическое приложение, которое читает csv имен пользователей в PHP, а затем обращается к API, чтобы определить, является ли он общедоступным или приватным.
Используйте конечную точку связи GET.
https://api.instagram.com/v1/users/user-id/relationship
Эта конечная точка возвращает значение BOOL «target_user_is_private».
Конечную точку User Media можно использовать с client_id:
https://api.instagram.com/v1/users/USER_ID/media/recent/?client_id=YOUR-CLIENT_ID
Если пользователь является частным, вы получите ответ вроде этого:
{"meta":{"error_type":"APINotAllowedError","code":400,"error_message":"you cannot view this resource"}}
Если пользователь является общедоступным, вы получите ответ API с "code":200
с последними данными мультимедиа пользователя – "data":[...]
Если вы нажмете, чтобы отменить их, и он сообщает вам,
«Если вы передумаете, вам придется снова просить ____».
то они являются private
и если он говорит,
«отменить подписку ____», тогда это не так.