Estoy tratando de usar la API de detección de caras claras en mi aplicación de reacción, pero sigo recibiendo un mensaje de error POST: método 405 no permitido. no está en línea con las soluciones que he encontrado. ¿Alguien puede ayudarme con esto? Soy nuevo en esto.
a continuación se muestra el código app.js
import NavBar from "../components/navbar/NavBar"; import ImageLinkFrom from "../components/imagelinkform/ImageLinkFrom"; import ImageRecognition from "../components/imagerecognition/Imagerecognition"; import Logo from "../components/logo/Logo"; import "./App.css"; import Rank from "../components/rank/Rank"; import { useState } from "react"; import Clarifai from "clarifai"; function App() { const [input, setInput] = useState(""); const [imageurl, setImageurl] = useState(""); const onInputChange = (e) => { setInput(e.target.value); }; const onButtonSubmit = () => { setImageurl(input); const USER_ID = "myUserId"; // Your PAT (Personal Access Token) can be found in the portal under Authentification const PAT = "myPAT"; const APP_ID = "myAppId"; const MODEL_ID = "color-recognition"; // const MODEL_VERSION_ID = "45fb9a671625463fa646c3523a3087d5"; // Change this to whatever image URL you want to process const IMAGE_URL = "https://samples.clarifai.com/metro-north.jpg"; const raw = JSON.stringify({ user_app_id: { user_id: USER_ID, app_id: APP_ID, }, inputs: [ { data: { image: { base64: IMAGE_URL, }, }, }, ], }); const requestOptions = { method: "POST", headers: { Accept: "application/json", Authorization: "Key " + PAT, }, body: raw, }; debugger; fetch( "https://api.clarifai.com/v2/models/" + MODEL_ID + "/versions/" + "/outputs", requestOptions ) .then((response) => response.text()) .then((result) => console.log(result)) .catch((error) => console.log("error", error)); }; return ( <div className="App"> <NavBar /> <Logo /> <Rank /> <ImageLinkFrom onInputChange={onInputChange} onButtonSubmit={onButtonSubmit} /> <ImageRecognition imageurl={imageurl} /> </div> ); } export default App;El ID de usuario, aplicación y versión debe ir a la URL.
Elimine esta parte del cuerpo del requisito:
user_app_id: { user_id: USER_ID, app_id: APP_ID, },Cambia la ruta:
fetch( "https://api.clarifai.com/v2/users/"+ USER_ID + "/apps/" + APP_ID + "/models/" + MODEL_ID + "/versions/" + MODEL_VERSION_ID + "/outputs", requestOptions )O sin versión (usando la última por defecto)
fetch( "https://api.clarifai.com/v2/users/"+ USER_ID + "/apps/" + APP_ID + "/models/" + MODEL_ID + "/outputs", requestOptions )