Облачные функции Firebase - PullRequest
       5

Облачные функции Firebase

0 голосов
/ 25 сентября 2018

Я следую примеру из репозитория github, чтобы закорачивать ссылку URL

https://github.com/firebase/functions-samples/tree/Node-8/url-shortener

Ошибка дает следующее

12: 49: 56.472 am shortenUrl Выполнение функции заняло 509 мс, завершено со статусом: «ошибка» 12: 49: 56.464 am shortenUrl RequestError: Ошибка: getaddrinfo EAI_AGAIN api-ssl.bitly.com:443 при новом запросе ErrorEr /request-обещание-core / lib / errors.js: 14: 15) в Request.plumbing.callback (/srv/node_modules/request-promise-core/lib/plumbing.js:87:29) в обратном вызове Request.RP $[as _callback] (/srv/node_modules/request-promise-core/lib/plumbing.js:46:31) в self.callback (/srv/node_modules/request/request.js:185:22) в emitOne (события.js: 116: 13) в Request.emit (events.js: 211: 7) в Request.onRequestError (/srv/node_modules/request/request.js:881:8) в emitOne (events.js: 116: 13) в ClientRequest.emit (events.js: 211: 7) в TLSSocket.socketErrorListener (_http_client.js: 387: 9) в emitOne (events.js: 116: 13) в TLSSocket.emit (событиеs.js: 211: 7) в emitErrorNT (внутренний / streams / destroy.js: 64: 8) в _combinedTickCallback (внутренний / process / next_tick.js: 138: 11) в process._tickDomainCallback (внутренний / process / next_tick.js): 218: 9)

Я действительно новичок в функциях, но я выполнил все шаги, описанные в документации.

вот мой index.js внутри моей папки функций

const functions = require('firebase-functions');
const BitlyClient = require('bitly');
// TODO: Make sure to set the bitly.access_token cloud functions config using the CLI.
const bitly = BitlyClient(functions.config().bitly.access_token);

// Shorten URL written to /links/{linkID}.
exports.shortenUrl = functions.database.ref('/links/{linkID}').onCreate(async (snap) => {
  const originalUrl = snap.val();
  const response = await bitly.shorten(originalUrl);
  return snap.ref.set({
    original: originalUrl,
    short: response.data.url,
  })
});

и мой package.json для того, чтобы скомпилировать необходимый для bitly

{
  "name": "url-shortener-functions",
  "description": "URL Shortener Firebase Functions sample",
  "dependencies": {
    "bitly": "^5.1.7",
    "firebase-admin": "~6.0.0",
    "firebase-functions": "^2.0.5"
  },
  "devDependencies": {
    "eslint": "^4.13.1",
    "eslint-plugin-promise": "^3.6.0"
  },
  "scripts": {
    "lint": "./node_modules/.bin/eslint --max-warnings=0 .",
    "serve": "firebase serve --only functions",
    "shell": "firebase experimental:functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "8"
  },
  "private": true
}

Я также сделал npm -install bitly внутри своей папки функций, но все равно выдает эту ошибку

Также я добавил свою ссылку в свою базу данных, поскольку документация гласит

/functions-project-12345
    /links
        link-123456: "https://my.super.long-link.com/api/user/profile/-jEHitne10395-k3593085"

Есть подсказка?спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

жалуется, что не может разрешить для удаленного хоста:

RequestError: Error: getaddrinfo EAI_AGAIN api-ssl.bitly.com:443

, поэтому я бы предположил, что для выполнения этого внешнего API требуется платный план звоните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...