2009-10-06 1 views
0

다음은 내가 작업 해본 코드입니다 :Best Buy Remix API (jQuery 포함)를 어떻게 쿼리합니까?

$.getJSON("http://api.remix.bestbuy.com/v1/products(search=" + escape(searchCriteria) + ")?apiKey=" + hhApiKey + "&format=json&callback=?", 
function(data) { 
    if(data.error) { 
     alert("I'm sorry, there was an error processing your request."); 
    } else { 
     alert(data); 
    } 
}); 

그러나 요청한 URL을 이해하지 못하기 때문에 되돌아 오는 데이터에 오류가 있습니다. 파이어 버그의 네트 탭을 살펴 보았습니다.

http://api.remix.bestbuy.com/v1/products(search=digital%20camera)?apiKey=myapikey&format=json&callback=json1264868431 & _1254866270659 =

문제는 굵게 표시된 부분이 더 이상 추가되지 않는다고 생각합니다. 내가 말할 수있는 한 이유는. 나는 Remix API가 그것을보고 그것이 틀린 매개 변수라고 생각한다고 생각한다. 추가를 막을 수있는 방법이 있습니까?

답변

3

jQuery ajax에 대한 캐시 설정을 비활성화하면 쿼리 문자열에 타임 스탬프를 추가하려고 시도합니다. 이것은 귀하가 겪고있는 문제 일 수 있습니다. 명시 적으로 활성화 된 캐싱 기능을 호출 해보십시오.

$.ajax({ 
    type: "GET", 
    url: "http://api.remix.bestbuy.com/v1/products(search=" + escape(searchCriteria) + ")?apiKey=" + hhApiKey + "&format=json&callback=?", 
    cache: true, 
    success: function() { 
     alert('success'); 
    }, 
    dataType: 'json' 
}); 
+1

이것은 그랬습니다! 캐시를 true로 설정하면 변수가 URL 끝에 추가되고 gettng에서 리믹스 API가 중지되었습니다. 감사! –

0

나는 그 URL에 막 "403 Developer Inactive"라고했습니다. 귀하는 API 개발자 등록을해야만 귀하의 계정을 사용할 수 있습니까?

많은 API 요청 (넷플 릭스)을 사용하려면 먼저 로그인해야하며 쿼리 문자열에 포함 할 세션 ID가 할당됩니다. 로그되지 않았을 수 있습니까?

죄송합니다. 명백한 질문 인 것 같으면 죄송합니다.

0

위에서 언급 한 리믹스 API 쿼리에는 "&"과 JSON 콜백의 "밑줄"이라는 두 가지 문제가 있습니다. "&"은 API가 이해하지 못하는 새로운 매개 변수라고 생각합니다. JSON 콜백의 "밑줄"은 Remix 쿼리 구문 분석기가 "could not understand.." 오류.

관련 문제