Невозможно получить информацию из Github API. JSON.parse() не будет работать в этом коде

#node.js #api #github

#node.js #API #github

Вопрос:

Попытка получить информацию из любого профиля Github с помощью этого API:

Github API — https://api.github.com/users /{имя пользователя любой учетной записи Github}

 const express = require("express");
const app = express();
const https = require("https");
const bodyParser = require("body-parser");
const request = require("request");
app.listen(3000 , function(){
  console.log("Server started at port 3000");
});

app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended:true}));
app.get("/" , function(req , res){
   res.sendFile(__dirname  "/index.html" );
});
app.post("/" , function(req , res){
   const user = req.body.username;
   const url = "https://api.github.com/users/" user ;
   https.get(url , function(response){
     response.on("data", function(data){
       const temp = JSON.parse(data);
       const bravo = temp.login;
       res.write("<p>The login of this Github ID is "   bravo   "<p>" );

      });
     });
     console.log("Post request received.");
   });
  

Получаю ошибку в моем CLI с указанием ошибки пользовательского агента и неожиданного токена R в JSON в позиции 2

Ответ №1:

Цель ваших запросов не будет возвращена в формате json, если в вызываемом вами uri есть пробел или другой недопустимый символ.

вызов с «testme» в качестве вашей переменной bravo отобразил json, но «testme please» вернул html.

Я думаю, что если вы зарегистрируете данные, прежде чем пытаться проанализировать их как json, вы обнаружите, что вам подают html.