首页 > 解决方案 > 使用带有 Python 的 Gmail API,搜索邮件返回 Requested entity was not found

问题描述

我正在使用 python 和 django 在 gmail api 中工作。在这种情况下,我需要在后端脱机身份验证中工作。在创建 url 以验证后端并创建凭据后,我需要获取带有 id 消息的特定消息。

这是代码:

   state = request.GET['state']
    flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file( client_secrets_file='credentials.json', scopes='https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/gmail.metadata https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.compose',state=state)
    flow.redirect_uri = 'https://domian.com/auth/oauth'
    authorization_response = request.build_absolute_uri()
    flow.fetch_token(authorization_response=authorization_response, client_secret='<client_secret>', code=request.GET['code'])
    request.session['credentials'] = {
        'token': credentials.token,
        'refresh_token': credentials.refresh_token,
        'token_uri': credentials.token_uri,
        'client_id': credentials.client_id,
        'client_secret': credentials.client_secret,
        'scopes': credentials.scopes
    }                                                                                                         

service =  build('gmail', 'v1', credentials=credentials)
results = service.users().messages().get(userId='me', id='<id>', format='minimal').execute()

Django 返回:/auth/oauth 处的 HttpError <HttpError 404 当请求https://gmail.googleapis.com/gmail/v1/users/me/messages/1273369159314488?format=minimal&alt=json返回“未找到请求的实体”。 >

但是 id 消息存在并且是正确的。即使我使用其他端点,如标签,也能很好地查询。

有人有什么建议吗?问候

标签: pythondjangogoogle-apigmail-api

解决方案


推荐阅读