2016-12-09 4 views
0

imgur API (http 모듈에서도 사용됨)로 작업하려면 nodeJS https.request 또는 https.get을 얻으려고 애 쓰고 있습니다. https.request에 대한 코드는 다음과 같습니다.nodeJS 매개 변수를 사용하여 imgur API에 액세스하면 AJAX에서 작동하지만 nodeJS에서는 작동하지 않습니다.

var https = require('https') 

var imgurAPIOptions = { 
    hostname : 'api.imgur.com', 
    path: '/3/gallery/search/time/1/?q=cat', 
    headers: {'Authorization': 'Client-ID xxxxxxxxxxxx'}, 
    json: true, 
    method: 'GET' 
}; 

https.request(imgurAPIOptions,function(err,imgurResponse){ 
    if (err) {console.log('ERROR IN IMGUR API ACCESS') 

} else { 

    console.log('ACCESSED IMGUR API'); 
} 

}); 

오류 메시지 console.log가 반환됩니다. jQuery를 AJAX를 사용하여 해당 클라이언트 측 요청에 대한 (일) 코드는 여기에

입니다 :

$(document).ready(function(){ 

    $.ajax({ 
     headers: { 
    "Authorization": 'Client-ID xxxxxxxxxxxx' 
    }, 
    url: 'https://api.imgur.com/3/gallery/search/time/1/?q=cat', 
    success:function(data){ 
     console.log(data) 
    } 
    }) 

}); 

여기 사람이 작업 imgur API를 얻기에 경험이 있었나요? 내가 뭘 놓치고 있니?

+0

무엇이'err'의 내용입니까? – dan

+0

콘솔에서 잘린 훌륭한 피사체/배열. 몇 분만 기다려주세요. 나는 그것을 추출하려고 노력할 것입니다. – Satki

+0

[docs] (https://nodejs.org/dist/v4.7.0/docs/api/https.html#https_https_request_options_callback)에 따르면 'https.request'의 콜백에있는 첫 번째 매개 변수는 오류가 아니라 데이터입니다. 'err'에있는 객체가 API 응답입니까? – dan

답변

0

https docs을 살펴보십시오.

요청 콜백의 첫 번째 매개 변수는 오류가 아닌 응답입니다. 오류를 확인하려면 요청시 error 이벤트를 수신 할 수 있습니다.

일단 요청에 데이터가 수신되면 출력 할 수 있습니다.

var https = require('https'); 

var options = { 
    hostname: 'api.imgur.com', 
    path: '/3/gallery/search/time/1/?q=cat', 
    headers: {'Authorization': 'Client-ID xxxxxxxxxxxx'}, 
    method: 'GET' 
}; 

var req = https.request(options, function(res) { 
    console.log('statusCode:', res.statusCode); 
    console.log('headers:', res.headers); 

    res.on('data', function(d) { 
    process.stdout.write(d); 
    }); 
}); 

req.on('error', function(e) { 
    console.error(e); 
}); 

req.end(); 
+0

나는 실제로 .end(); 포함 된, 그냥 위의 발췌문에 넣으려면 깜박. 구문을 사용하여 시도해 보겠습니다. 작동하는지 확인하십시오. – Satki

+0

그래, 그거야. 방금 '정상적인'함수 (오류, 데이터) 콜백 구조를 사용하지 않고 익숙하지 않은 API를 사용하여 요청을 던졌습니다. – Satki

+0

문제 없습니다. [요청] (https://github.com/request/request)이라는 패키지가 있는데, 이는 꽤 인기가 있으며 어떤 상황에서는 사용하기에 조금 더 편리합니다. 그 패키지는'function (err, data)'패턴을 따른다. – dan