'Error: Request Failed with status code 400 - React - API Key
this is my code:
import "./styles.css";
import "mvp.css";
import { useState, useEffect } from "react";
import axios from "axios";
function Books() {
const [book, setBook] = useState("");
const [result, setResult] = useState([]);
const [apiKey, setApiKey] = useState(
""
);
function handleChange(event) {
const book = event.target.value;
setBook(book);
}
function handleSubmit(event) {
event.preventDefault();
axios
.get(
"https://www.googleapis.com/books/v1/volumes?q=" +
book +
"&key=" +
apiKey +
"&maxResults=100"
)
.then((data) => {
console.log(data);
});
}
return (
<div className="App">
<h1>Search For A Book</h1>
<form onSubmit={handleSubmit}>
<div className="form-group">
<input
type="text"
onChange={handleChange}
className="input"
placeholder="Search..."
/>
<button type="submit" className="btn">
Go!
</button>
</div>
</form>
</div>
);
}
export default function App() {
return <Books />;
}
Is anyone able to figure out why I am unable to get this to work? I keep getting a Request failed error and I am not sure what is going wrong. I have manually entered my url into the my browser such as this:
https://www.googleapis.com/books/v1/volumes?q=javascript&key=APIKEY
But when I do it through my code it is not working.
Thanks in advance.
Solution 1:[1]
What's the erro message? If "API key not valid. Please pass a valid API key." u api key is wrong. This page will help you https://cloud.google.com/apis/design/errors
Solution 2:[2]
As you can see, your url in axios is: https://www.googleapis.com/books/v1/volumes?q=javascript&key=apiKey&maxResults=100
So that why return http code 400, you should remove &maxResults=100
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Paulo Henrique |
| Solution 2 |
