Descargué el archivo de proyecto de muestra proporcionado por Autodesk Forge para implementar Design Automation desde aquí: https://github.com/Autodesk-Forge/learn.forge.designautomation/tree/nodejs
Problema: se obtiene un error en DesignAutomation.js en el código de línea a continuación. El error dice "Prohibido, no autorizado" aunque proporcioné el token, la clave y la URL de ngrok de mi aplicación de falsificación.
dejar motores = esperar api.getEngines({ página: paginationToken });
Depuré y descubrí que la línea de código anterior está fallando y va a la excepción de captura. Debido a este error, los menús desplegables "Seleccionar motores" y "Actividades existentes" en la interfaz de usuario aparecen vacíos.
¿Podría alguien ayudarme con este asunto? Soy nuevo con Autodesk Forge y WebAPI, por lo que no puedo averiguar cómo hacerlo. Gracias.
Creo que el problema está en el código fuente, pero puedes solucionarlo.
El código fuente provisto asume que no cambiará su apodo. Si no cambia su apodo, se establecerá de forma predeterminada en su ID de cliente y el código de muestra utiliza esta suposición. En el código fuente, línea 57, verás que:
static get NickName () { return (config.credentials.client_id); }asume que su apodo coincide con client_id.
Verifique cuál es su apodo actual ejecutando en la terminal (o Postman/Insomnia) lo siguiente:
curl 'https://developer.api.autodesk.com/da/us-east/v3/forgeapps/me' \ --header 'Authorization: Bearer '$TOKENSi el resultado proporcionado no coincide con su ClientId, puede estar seguro de que esta es la fuente del problema.
En este caso, para resolver el problema, hay dos enfoques:
Cambie el código de la función NickName (dentro del código fuente) para recuperar el apodo (usando la llamada anterior), en lugar de solo obtener el ClientID.
Restablezca su apodo , lo que en realidad significa eliminar las actividades, los paquetes y todas las cosas del usuario. La forma de hacerlo es ejecutando:
curl --solicitar ELIMINAR 'https://developer.api.autodesk.com/da/us-east/v3/forgeapps/me'
--header 'Autorización: Portador `$TOKEN
Esto restablecerá su apodo a su ClientID y el código debería funcionar bien.