2016-12-02 5 views
0

Yelp API에 GET 요청을 보내려고합니다.JSONP를 요청할 때 권한 부여 HTTP 헤더를 설정하는 방법은 무엇입니까?

아래 코드로 시도 할 때 401 오류가 발생합니다. JSONP 데이터를 요청하는 경우 내 연구를 토대로이 방법으로 권한을 설정할 수 있다고 생각하지 않습니다. 그러나 다른 데이터 형식으로 시도 할 때 Cross-Origin Request Blocked 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?

function findFood() { 
     var lat = document.getElementById("lat"); 
     var lon = document.getElementById("lon"); 

     console.log("lat: " + lat.textContent + " lon: " + lon.textContent); 

     var url = API_HOST + SEARCH_PATH + "term=" + SEARCH_TERM + "&radius=" + SEARCH_RADIUS + "&latitude=" + parseFloat(lat.textContent) + "&longitude=" + parseFloat(lon.textContent); 

     console.log(url); 
     console.log("Bearer " + ACCESS_TOKEN); 

     $.ajax({ 
      type: "GET", 
      url: url, 
      dataType: 'jsonp', 
      beforeSend: function (xhr) { 
       xhr.setRequestHeader('Authorization', 'Bearer ' + ACCESS_TOKEN); 
      }, 
      success: function (data) { 
       console.log(JSON.stringify(data)); 
      } 
     }) 

    }; 

답변

0

POST 데이터로 헤더를 바꾸려고 했습니까? Yelp 웹 사이트에서 그들이 말한 것입니다! 해당 링크를 확인하십시오 : jQuery API Post & Yelp API 2.0 Authentification 정말 좋겠다. 코멘트 섹션에서 알려주십시오!

+0

나는 레스토랑을 위해 Yelp API를 쿼리하려고하는데, 왜 POST 호출이 될까요? – stumpylumpy

+0

문제는 Yelp API에 로그인하려는 권한입니다.하지만 작동하지 않으므로 다른 방법을 사용하고 있습니다. @ 가자미 –