【问题标题】:Autodesk Forge Design Automation getEngines failingAutodesk Forge 设计自动化 getEngines 失败
【发布时间】:2022-02-16 11:56:28
【问题描述】:

我从这里下载了 Autodesk Forge 提供的用于实现设计自动化的示例项目文件:https://github.com/Autodesk-Forge/learn.forge.designautomation/tree/nodejs

问题:在下面的代码行中的 DesignAutomation.js 中出现错误。尽管我提供了我的伪造应用程序的令牌、密钥和 ngrok url,但错误显示“禁止,未授权”。

让引擎 = await api.getEngines({ page: paginationToken });

我调试了一下,发现上面这行代码失败了,进入了catch异常。由于这个错误,我在 UI 中的“选择引擎”和“现有活动”下拉菜单显示为空。

有人可以帮我解决这个问题吗?我是 Autodesk Forge 和 WebAPI 的新手,所以我无法弄清楚如何去做。谢谢。

【问题讨论】:

  • const api = await Utils.dav3API(req.oauth_token); 返回什么? github.com/Autodesk-Forge/learn.forge.designautomation/blob/…希望你设置正确set FORGE_CLIENT_ID=<<YOUR CLIENT ID FROM DEVELOPER PORTAL>> set FORGE_CLIENT_SECRET=<<YOUR CLIENT SECRET>> set FORGE_WEBHOOK_URL=<<YOUR NGROK URL>>
  • 它返回一个 'apiClient' 对象。我已经正确设置了上面列出的属性。所以不知道哪里出了问题。
  • 你能把你的client_id发给我吗?我想检查你的足迹或信用是否过期。您可以访问“autodesk dot com 的 forge dot help”[无空格]
  • 我发现我的 Forge 应用试用已过期,这就是 Design Automation 连接失败的原因。谢谢马杜卡。

标签: javascript autodesk-forge autodesk-designautomation


【解决方案1】:

我认为问题出在源代码中,但您可以修复它。

提供的源代码假定您不会更改昵称。 如果您不更改昵称,它将默认为您的 ClientID,示例代码使用此假设。在源代码第 57 行,您将看到:

    static get NickName () {
    return (config.credentials.client_id);
   }

它假定您的昵称与 client_id 匹配。

Check what is your current nickname 在终端(或 Postman/Insomnia)中运行以下命令:

curl 'https://developer.api.autodesk.com/da/us-east/v3/forgeapps/me' \
--header 'Authorization: Bearer '$TOKEN

如果提供的结果与您的 ClientId 不匹配,您可以确定这是问题的根源。

在这种情况下,解决问题的方法有两种:

  1. 更改 NickName 函数的代码(在源代码中)以检索昵称(使用上述调用),而不是仅获取 ClientID。

  2. Reset your nickname,这实际上意味着删除活动、捆绑包和所有用户内容。方法是运行:

curl --request DELETE 'https://developer.api.autodesk.com/da/us-east/v3/forgeapps/me'
--header '授权:承载`$TOKEN​

这会将您的昵称重置为您的 ClientID,并且代码应该可以正常工作。

【讨论】:

  • 在终端运行昵称代码时,出现以下错误。在 line:2 char:3 + --header 'Authorization: Bearer '$TOKEN + ~ 一元运算符 '--' 后缺少表达式。在 line:2 char:3 + --header 'Authorization: Bearer '$TOKEN + ~~~~~~ 表达式或语句中出现意外的令牌 'header'。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingExpressionAfterOperator
  • 如果您下载示例项目并按照 README.md 文件进行设置,那么您不会遇到我的问题中描述的这个问题吗?
猜你喜欢
  • 2021-01-06
  • 2017-09-08
  • 2018-04-01
  • 2020-04-25
  • 2021-05-24
  • 2018-10-08
  • 2017-12-16
  • 2021-03-13
  • 2017-09-15
相关资源
最近更新 更多