2016-12-28 7 views
0

Я использую JQuery разобрать последнюю Instagram изображение пользователя, как это:синтаксического анализа Instagram JSON с JQuery

 $.getJSON(instagram_url, function(data) { 
     var latestPic = data.images; 
     console.log(latestPic); 
     }); 

Но получить сообщение об ошибке в Дев инструментов говоря

XMLHttpRequest не может загрузить https://api.instagram.com/v1/users/ { user_id}/СМИ/недавние /? access_token = access_token. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный 'null' не допускается.

Я не уверен, что это значит, так как я получаю ответ json, когда я вставляю свой url в браузер. Кто-нибудь знает, как с этим справиться?

Заранее спасибо

+2

Это функция безопасности, позволяющая без каких-либо прав останавливать людей, использующих данные других сайтов. Либо получить разрешение (или запросить его со своего сервера вместо вашего браузера);) –

+0

@GoneCoding Благодарим вас за быстрый ответ, но ошибка связана с идентификатором user_ID, который я выбрал (123456). Поэтому я заменил этот поддельный идентификатор своим собственным идентификатором, и теперь вы сможете увидеть мою ситуацию – boehmatron

+2

Я имею в виду получить разрешение на использование своего API :) Некоторые из них могут динамически разрешать доступ к перекрестному домену на основе учетных данных запроса. –

ответ

0

это Крест проблема происхождения, просто включить в URL "callback=?".

или использовать $.ajax() с "JSONP":

$.ajax({ 
    url: Url, 
    method: 'GET', 
    dataType: 'jsonp', 
    data: apiData, 
    success: handleData 
}) 
0

Вы можете обойти это с помощью JSONP (Instagram поддерживает). см https://www.instagram.com/developer/endpoints/

https://api.instagram.com/v1/tags/coffee/media/recent?access_token=ACCESS-TOKEN&callback=myCallBackHandler 

сервер ответит

myCallBackHandler({ 
    ... 
}); 

определить функцию с именем myCallBackHandler и поставить свою логику в этом. Ваша функция будет вызвана с ответом. JSON