Илья Рыбкин | 17.01.2013

API Instagram — Origin is not allowed by Access-Control-Allow-Origin.

Недавно столкнулся с неведомой проблемой. Разбирал API Instagram и по опыту работы с API Foursquare использовал функцию JQuery — getJSON.

С 4square проблем не было — регистрируешь сайт как приложение -> он тебе выдает client id -> этот id используем во всех API запросах для авторизации (https://api.foursquare.com/v2/venues/search?near=муром&query=дизайн-студия-sawtech&client_id=CLIENT_ID&client_secret=CLIENT_SECRET). Все просто! Хотя я до этого дошел не сразу)) всё-таки документация только на вражеском…

С Instagram появились проблемы! По началу все казалось так-же как и в Foursquare:  регистрируешь сайт как приложение -> он тебе выдает client id -> этот id используем во всех API запросах для авторизации. Но консоль выдавала ошибку — Origin [МОЙ_САЙТ] is not allowed by Access-Control-Allow-Origin. Поначалу (с моим знанием английского) было выдвинуто предположение что это из-за того, что я делаю на локальном хостинге (использую danwer). Ан нет, почитал в интернете (опять же все на вражеском), оказалось у API Instagram необходимо в адрес еще добавить callback! И вобщем-то получилось так — https://api.instagram.com/v1/tags/murom/media/recent?client_id=CLIENT_ID&count=40&callback=?

Зато как видно для авторизации приложения (или сайта) в Instagram необязательно указывать client_secret )).