Как получить данные из API и показать в действиях, используя выполнение?

Как получить данные из API ( https://jsonplaceholder.typicode.com/posts/1) и показать в действиях, используя выполнение?

мой код:

function apiCall(agent){
    https.get('https://jsonplaceholder.typicode.com/posts/1', (resp) => {
       let data = '';
       // A chunk of data has been recieved.
       resp.on('data', (chunk) => {
           data += chunk;
       });

       // The whole response has been received. Print out the result.
       resp.on('end', () => {
           console.log(JSON.parse(data).explanation);
       });

   }).on("error", (err) => {
       console.log("Error: " + err.message);
   });
}

и я получаю сообщение об ошибке:

в функциях: getaddrinfo ENOTFOUND jsonplaceholder.typicode.com jsonplaceholder.typicode.com:443

3 ответа

Я проверил сервер API, он хорошо работает ССЫЛКА


причины
У меня была такая же проблема при попытке доступа к API-серверу из облачных функций. В тот раз биллинг не был исправлен, так как биллинг уже был включен.


Решения

  1. Функция Google Cloud не позволяет получить доступ к исходящему Интернету без биллинга. Вам просто нужно включить биллинг для своего проекта, предоставив данные своего банкомата, не волнуйтесь, это бесплатный уровень.

  2. Вы можете использовать Google Cloud Function Simulator + любой локальный туннель, такой как ngrok или http://serveo.net/ затем добавить эту ссылку в свой fulfillment webhook url его хорошее решение для целей развития.

На GitHub Actions размещен пример цитаты по связям с разработчиками, который демонстрирует, как выполнить внешний вызов API из ваших веб-заданий.

Как упоминалось в README примера, если вы используете Cloud Functions для Firebase для развертывания своего выполнения, вам необходимо обновить свой план, так как бесплатный уровень Firebase не поддерживает совершение исходящих сетевых вызовов.

Что вы хотите получить на этой странице? Я скопировал ваш код и изменил

console.log(JSON.parse(data).explanation);

в

console.log(data);

И это возвращает мне это:

{
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
  "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}

вот почему я получаю, когда нажимаю на вашу ссылку.

У меня не было ошибки с вашим кодом, за исключением того, что поле "объяснение" для меня не существует.

Поскольку я не понимаю, о чем говорится в сообщении, требует ли ваш сайт какой-либо аутентификации или чего-то еще?

Другие вопросы по тегам