Как получить данные из API и показать в действиях, используя выполнение? - PullRequest
0 голосов
/ 27 июня 2018

Как извлечь данные из 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 ]

0 голосов
/ 27 июня 2018

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

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"
}

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

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

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

0 голосов
/ 29 июня 2018

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

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

0 голосов
/ 27 июня 2018

Я проверил сервер API, он хорошо работает LINK


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


Решения

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

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

...