Reactjs Autodesk Forge Dataviz NPM软件包-尝试使用React Viewer

Reactjs Autodesk Forge Dataviz NPM软件包-尝试使用React Viewer,reactjs,autodesk-forge,Reactjs,Autodesk Forge,我已经尝试使用新的Forge Dataviz NPM包开发了一段时间,但我一直面临错误。我目前正试图加载一个查看器(),但我认为我做错了什么。还是不知道是什么 这是我的反应常数: const TestAutodesk= () => { return ( <div> <Viewer env="AutodeskProduction" docUrn="URN STRING"

我已经尝试使用新的Forge Dataviz NPM包开发了一段时间,但我一直面临错误。我目前正试图加载一个查看器(),但我认为我做错了什么。还是不知道是什么

这是我的反应常数:

const TestAutodesk= () => {
  return (
    <div>
      <Viewer
      env="AutodeskProduction"
        docUrn="URN STRING"
        getToken={async () => await fetch("https://developer.api.autodesk.com/authentication/v1/authenticate",requestOptions)
            .then((res) => res.json())
            .then((data) => data.access_token)}
      ></Viewer>
    </div>
  );
};
最后一个应用程序不会将其用作身份验证,我将使用一个安全的后端端点,这只是为了尝试加载查看器并完成前端。这是我在控制台上看到的错误:

我认为错误在于调用localhost:8080,但它应该调用autodesk端点。有什么想法吗?Api引用/Dataviz示例没有说明这一点。

React组件非常简单(),本身不应该向localhost发出任何请求。您是否在应用程序的其他地方提出这些请求

关于
getToken
实现,我建议两件事:

  • 直接从客户端代码发出这些请求不是一种好的做法。这样,有人可能会窃取您的伪造客户ID和客户机密。更好的方法是在您自己的后端中实现一个自定义端点,该端点以有限的权限生成令牌,从而对客户端隐藏凭据
  • 如果需要向发出原始请求,请注意,它需要4个(不是3个)参数:
    客户机id
    客户机机密
    授权类型
    范围

是的,我将为AUTH、safe创建一个自定义端点。我只是那样打电话,因为我只是在试着看电视。我试图在另一个作为函数生成的文件中向localhost发出请求,但没有成功。我尝试将函数作为回调传递给查看器组件,但无法使其正常工作。在API Ref()中,它表示不需要作用域。我将尝试添加作用域,但我认为这不是我的问题。老实说,我是个新手。。。
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("client_id", "ID");
urlencoded.append("client_secret", "SECRET");
urlencoded.append("grant_type", "client_credentials");

var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: urlencoded,
  redirect: "follow",
};