javascript - 使用 Node JS 访问 API 并将其解析为 JSON 文件

标签 javascript node.js

我正在尝试从 Harvest API 访问所有项目并将其解析为 JSON 文件。但我对 Node JS 很陌生,所以我不知道从哪里开始。以下是 API 文档的链接:Harvest API Documentation

API 要求对所有调用进行身份验证,我该如何解决这个问题?

提前谢谢您

最佳答案

您可以使用 JSON.parse(data) 进行解析以获取 JSON 对象

const https = require("https");

const options = {
  protocol: "https:",
  hostname: "api.harvestapp.com",
  path: "/v2/users/me",
  headers: {
    "User-Agent": "Node.js Harvest API Sample",
    Authorization: "Bearer " + process.env.HARVEST_ACCESS_TOKEN,
    "Harvest-Account-ID": process.env.HARVEST_ACCOUNT_ID,
  },
};

https
  .get(options, (res) => {
    const { statusCode } = res;

    if (statusCode !== 200) {
      console.error(`Request failed with status: ${statusCode}`);
      return;
    }

    res.setEncoding("utf8");
    let rawData = "";
    res.on("data", (chunk) => {
      rawData += chunk;
    });
    res.on("end", () => {
      try {
        const parsedData = JSON.parse(rawData);
        console.log(parsedData);
      } catch (e) {
        console.error(e.message);
      }
    });
  })
  .on("error", (e) => {
    console.error(`Got error: ${e.message}`);
  });

请引用

https://github.com/harvesthq/harvest_api_samples/blob/master/v2/harvest_api_sample.js

关于javascript - 使用 Node JS 访问 API 并将其解析为 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50032335/

相关文章:

node.js - 通过 Electron js 应用程序的 headless 浏览器自动化应用程序

javascript - 当另一个文件中的值更改时,全局变量不会更新nodejs

javascript - 呈现最初隐藏的 HTML 元素的正确方法

php - 从 php 中的其他查询检索数据

javascript - KineticJS - 为什么它使用这么多隐藏的 Canvas 元素?

javascript - 如何使异步 API 工作?

javascript - 从字符串中删除一个单词,直到下一个出现空格为止

javascript - 在对象中动态设置键

node.js - 在Electron BrowserWindow中进行全文本搜索

javascript - 在node js中查找,如果zip文件包含任何.js或.exe或.json格式,我想阻止这些类型的上传