Autodesk forge: Get access token using POST/XMLHttpRequest a



我是Autodesk API的新手,并尝试在我的网站上使用javascript创建查看器,该网站由支持JavaScript的第三方(想想Weebly,Squarespace等(托管。 如果我使用 Postman 对 https://developer.api.autodesk.com/authentication/v1/authenticate 进行 POST 调用,我可以成功获得访问令牌,但从一般使用的角度来看,这对我没有帮助。 当我尝试使用 XMLHttpRequest 并从我的 javascript 进行相同的 POST 调用时,我收到与 CORS 相关的错误("请求的资源上不存在'访问控制-允许来源'标头。 我找不到任何地方似乎可以使用javascript来调用Autodesk的API,并在我自己的网站上创建一个Autodesk查看器。 单独使用javascript可以吗? 任何信息都会很棒。

我正在 https://developer.autodesk.com/en/docs/viewer/v2/tutorials/basic-viewer/的分步 API 教程中工作,这很棒,但似乎没有指示如何在您的应用程序中处理实际的 POST 调用,而不是通过 Postman 或其他一些测试工具获取令牌。

JavaScript:

function getToken() { 
var xhttp = new XMLHttpRequest();
var url = "https://developer.api.autodesk.com/authentication/v1/authenticate"; 
var params = "client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET&grant_type=client_credentials&scope=data:read";
xhttp.open("POST", url, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhttp.send(params);
}

谢谢。

你不能,这不受支持。Autodesk Forge 仅支持服务器端的 OAuth,更安全。解释一下,您的方法要求在客户端上公开客户端 ID 和机密,因此 API 通过 CORS 标头阻止它。

如果您使用以下编程语言之一:JavaScript(node.js(,.Net,Java,Ruby,只需使用现有的SDK。这将使事情变得容易得多。

有关更多详细信息,请参阅此处。

最新更新