带有React的Gmail API

时间:2018-12-12 19:44:16

标签: reactjs api gmail-api

我尝试使用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;
};

1 个答案:

答案 0 :(得分:0)

错误401表示凭据无效。如果收到此错误,则很可能是您所使用的凭据无效。您可能使用了错误的凭证类型。

尝试转到console,然后再次检查您的凭据。如果您正在寻找有关实施授权的更多信息,请参考此documentation