pdflayer API发布请求说我没有提供api_key,即使它确实如此

时间:2017-11-14 23:16:10

标签: javascript api post axios

我目前正在尝试使用http://www.pdflayer.com中的API,但是我遇到了通过Axios发布请求提供api_key的问题。

我的代码如下所示:



var config = require('./../config');
var axios = require('axios');
var fs = require('fs');

const BASE_URL = 'http://api.pdflayer.com/api/convert';

module.exports = {

    createQuotePdf() {
        var data = {
            document_url: 'https://www.apple.com',
            access_key: config.pdflayer_acccess_key,
            page_size: 'A4',
            test: '1'
         }

        axios.post(BASE_URL, data)
        .then((data) => {
            console.log(data);
            fs.writeFile('./download.pdf', data.body, function(err) {
                if (err) console.log('error: ', err);
            })
        });
    }

};




然而,每次我发出请求时,都说我没有提供api密钥,即使我指定了。

如果有人可以帮助我,那就太棒了。

祝你好运

2 个答案:

答案 0 :(得分:0)

您是否曾尝试将其直接附加到您的BASE_URL,因为它们的构造方式与它们的构建方式相同

BASE_URL = ('http://api.pdflayer.com/api/convert?access_key=', YOUR_ACCES_KEY)'

答案 1 :(得分:0)

对于任何有同样问题的人,这是工作解决方案:



var config = require('./../config');
var request = require('request');

var BASE_URL = 'http://api.pdflayer.com/api/convert';
var ACCESS_KEY = '?access_key=' + config.pdflayer_acccess_key;
var API_URL = BASE_URL + ACCESS_KEY;

module.exports = {

    createPdf() {

        var formData = {
            document_html: `<html><body>Hello World</body></html>`
        }

        request.post({url: API_URL, formData: formData, encoding: null}, function optionalCallback(err, httpResponse, body) {
            if (err) {
                console.log(err);
            } else {
              // Here you can save the file or do anything else with it
                console.log(body);
            }
        });
    }

};
&#13;
&#13;
&#13;