我尝试使用Gmail API和React创建应用程序。为了获得授权,我使用lib react-google-login
export default class App extends Component {
service = new Service();
render() {
const responseGoogle = (response) => {
this.service.getMessagesList();
}
return (
<div>
<GoogleLogin
clientId="YOUR_ID.apps.googleusercontent.com"
buttonText="Login"
onSuccess={responseGoogle}
/>
授权后,我将提取请求发送到gmail API,并尝试获取我的电子邮件列表。但是服务器返回我401。为什么?我做错了什么?
我的抓取
export default class Service {
_apiBase = "https://www.googleapis.com/gmail/v1/users/me";
async getResource(url) {
const res = await fetch(`${this._apiBase}${url}`);
if (!res.ok) {
throw new Error(`Could not fetch ${url}, received ${res.status}`);
}
const body = await res.json();
return body;
}
getMessagesList = async () => {
const list = await this.getResource(`/messages`);
return list;
};
答案 0 :(得分:0)
错误401表示凭据无效。如果收到此错误,则很可能是您所使用的凭据无效。您可能使用了错误的凭证类型。
尝试转到console,然后再次检查您的凭据。如果您正在寻找有关实施授权的更多信息,请参考此documentation。