Как я могу добавить заголовок авторизации в запрос на получение с помощью node.js БЕЗ внешних модулей

avatar
Kareem Reese
9 августа 2021 в 07:11
54
0
0

Я пробовал это ниже:

      let options = {
        hostname: `api.genius.com`,
        path: `/${data}?text_format=plain`,
        method: 'GET',
        headers: {
          'Authorization': `Bearer ${config.GeniusBearerToken}`,
          'Host': `api.genius.com`
        }
      };


      https.get(options, (res) => {
        const { statusCode } = res;
        const contentType = res.headers['content-type'];
        let error;
        if (statusCode !== 200) {
          error = new Error('Request Failed. ' + `Status Code: ${statusCode}`);
        } else if (!/^application\/json/.test(contentType)) {
          error = new Error('Invalid content-type.\n' + `Expected text/html; charset=UTF-8 but received ${contentType}`);
        }
        if (error) {
          res.end(`<html> ERROR: ${e.message} </html>`)
          console.error(error.message);
          // Consume response data to free up memory
          res.resume();
          return;
        }
        res.setEncoding('utf8');
        let rawData = '';
        res.on('data', (chunk) => { rawData += chunk; });
        res.on('end', () => {
          try {
            console.log(rawData)
          } catch (e) {
            res.end(`<html> ERROR: ${e.message} </html>`)
            console.error(e.message);
          }
      }).on('error', (e) => {
        res.end(`<html> ERROR: ${e.message} </html>`)
        console.error(`Error: ${e.message}`);
      });
    }); 

Как показано в моем примере, все работает отлично, за исключением того, что я получаю 401 неавторизованный код с API, моя конфигурация определена правильно, и значение конфигурации верно вместе с синтаксисом заголовка, я просто считаю, что делаю это неправильно.

Источник
Reyno
9 августа 2021 в 07:21
0

Вы уверены, что срок действия вашего токена не истек?

Kareem Reese
9 августа 2021 в 07:22
0

Я вполне уверен, я только что проверил.

Marc
9 августа 2021 в 07:44
0

Попробуйте настроить фиктивный сервер локального узла и посмотрите, отправляется ли запрос по мере необходимости. Если все работает, а заголовок/тело выглядят как исключенные, это может быть только недопустимый токен.

Ответы (0)