基本标头身份验证的API密钥

时间:2020-06-01 10:45:45

标签: api node-fetch

我正在做一个工作板项目,我在使用React / Node / Node-Fetch / Express / Redis

我对Github的工作很满意。但是我对此有些困惑。

这是针对一个名为Reed.co.uk的网站的 -这是文档:https://www.reed.co.uk/developers/jobseeker

目前,Github Jobs不需要标头中的API密钥。

但是Reed这样说:'您将需要在基本身份验证HTTP标头中为所有请求添加api密钥作为用户名,而密码为空。'

我有Reed的API密钥,只是想知道如何将其放入标头中。

下面是ReedFetch的当前代码

var fetch = require('node-fetch');

const redis = require("redis");
const client = redis.createClient();

const { promisify } = require("util");
const setAsync = promisify(client.set).bind(client);


const baseURL = 'https://www.reed.co.uk/api/1.0/search?keywords=accountant'


async function fetchReed() {

    let resultCount = 1, onPage = 0;
    const allJobs = [];

    //fetch pages
    while (resultCount > 0) {
        const res = await fetch(`${baseURL}`);
        const jobs = await res.json();
        allJobs.push(...jobs);
        resultCount = jobs.length;
        console.log('got', resultCount, 'jobs');
        onPage++;

    }

    console.log('got', allJobs.length, 'logs')

    if (resultCount == 0) {
        console.log('0 jobs left to get.')
    }

    //filter 

    const remoteJobs = allJobs.filter(job => {
        const jobDesc = job.jobDescription.toLowerCase();
        const jobLoc = job.locationName.toLowerCase();

        if (
            jobDesc.includes('remote') || jobLoc.includes('remote')
            ){
                return true
            }

        return false

    })

    console.log('filtered down to ', remoteJobs.length)

    //set in redis

    const success = await setAsync('reed', JSON.stringify(remoteJobs));

    console.log({success});


}
fetchReed();
module.exports = fetchReed;

0 个答案:

没有答案