मैं एक नोड जेएस सर्वर का उपयोग कर रहा हूं और एडवर्ड्स एपीआई से एक्सेस टोकन प्राप्त करने का प्रयास कर रहा हूं। POST अनुरोध करने के लिए मैं कर्नल का उपयोग एनपीएम (https://www.npmjs.org/package/curler) से करता हूं।नोड जेएस एडवर्ड्स एपी
var login = '[email protected]';
var pass = 'mypassword';
var data = JSON.stringify({
Email: login,
Passwd : pass,
accountType: 'GOOGLE',
service: 'adwords',
source: 'adwordstest'
});
var options = {
method: "POST",
url: 'https://www.google.com/accounts/ClientLogin',
headers: {
'Content-Type': 'application/json'
},
data: data,
timeout: 5000,
connectionTimeout: 5000
};
var startDate = Date.now();
curl.request(options, function(err, res, bodyData) {
var duration = (Date.now() - startDate);
if (err) {
console.log(err);
}
else {
console.log('statusCode: %s', res.statusCode);
console.log('bodyData: %s', bodyData);
}
console.log("curler (libcurl) performed http request in %s ms. dnsTime: %s, connectTime: %s, preTransferTime: %s, startTransferTime: %s, totalTime: %s", duration, res.dnsTime, res.connectTime, res.preTransferTime, res.startTransferTime, res.totalTime);
});
प्रतिक्रिया मैं
statusCode: 403
bodyData: Error=BadAuthentication
जो मूल रूप से कहते हैं प्रवेश जानकारी गलत है, जो नहीं है: यहाँ कोड नमूना है। यह पता नहीं लगा सकता कि मैंने गलत कार्यान्वयन चुना है, या सिर्फ हेडर या कुछ खो रहा है या नहीं।
मुझे लगता है कि आपका नियमित लॉगिन पर्याप्त नहीं है और आपको एपीआई टोकन या प्रमाणीकरण की कुछ अन्य विधि के लिए पंजीकरण करने की आवश्यकता है। –
बात यह है कि वही विधि php के माध्यम से कर्ल के माध्यम से काम करती है, बिना ऐडवर्ड्स एप्लिकेशन या डेवलपर एपीआई कुंजी –
का उपयोग किए बिना क्या आपने कभी यह काम किया है? एक कार्यात्मक उदाहरण भयानक होगा। – mz3