【问题标题】:Firebase Functions and Autodesk Forge integrationFirebase 功能和 Autodesk Forge 集成
【发布时间】:2019-11-20 15:48:37
【问题描述】:

我在 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)

我已经尝试在我的 react js 项目中插入 Forge API,并发现这将是一个 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);
  })
})

【问题讨论】:

    标签: javascript reactjs firebase google-cloud-functions autodesk-forge


    【解决方案1】:

    由于 Firebase 函数在 GCD 后端运行,CORS 并没有真正发挥作用......

    您必须使用免费计划 - getaddrinfo EAI_AGAIN 表示 DNS 查找超时,这是由于免费套餐的限制,即出站网络仅限于 Google 服务内。将您的计划升级到Flame or Blaze

    【讨论】:

      猜你喜欢
      • 2020-03-12
      • 2017-09-05
      • 2021-02-19
      • 2021-05-18
      • 2020-12-11
      • 2021-05-29
      • 2022-01-12
      • 2020-12-23
      • 2021-07-03
      相关资源
      最近更新 更多