Функции Firebase и интеграция с Autodesk Forge - PullRequest
0 голосов
/ 11 июля 2019

У меня проблема с запросом на выборку внутри функций Firebase для токена Autodesk Forge.

Вот ошибка, которая отображается при регистрации функций:

FetchError: запрос на https://developer.api.autodesk.com/authentication/v1/authenticate не выполнен,

reason: getaddrinfo EAI_AGAIN developer.api.autodesk.com:443
    at ClientRequest.<anonymous> (/srv/node_modules/node-fetch/lib/index.js:1455:11)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at TLSSocket.socketErrorListener (_http_client.js:401:9)
    at emitOne (events.js:116:13)
    at TLSSocket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:66:8)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickDomainCallback (internal/process/next_tick.js:219:9)

Я уже пытался вставить API Forge в мой проект реагирования на js и выяснил, что это будет связано с CORS.

  const snapshot = change.after;
  console.log(snapshot)
  const api = "https://developer.api.autodesk.com/authentication/v1/authenticate"

  const search = () =>
    fetch(`${api}`, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      body: JSON.stringify(`client_id=${process.env.REACT_APP_FORGE_CLIENT_ID}&client_secret=${process.env.REACT_APP_FORGE_CLIENT_SECRET}&grant_type=client_credentials&scope=data:read`)
    }).then(res => res.json())

  search().then((res) => {
    const data = res
    return snapshot.ref.parent.child('token').set(data);
  })
})

1 Ответ

0 голосов
/ 11 июля 2019

Поскольку Firebase Functions запускается в бэкэнде GCD, CORS действительно не вступает в игру ...

Вы должны быть на бесплатном плане - getaddrinfo EAI_AGAIN указывает на тайм-аут поиска DNS и связан с ограничениями бесплатного уровня, где исходящие сети ограничены службами Google. Обновите свой план до Пламя или Пламя .

...