Giter Site home page Giter Site logo

Comments (3)

cyracle avatar cyracle commented on August 28, 2024

This just started happening to me too. It was working fine in January, and little if anything changed, and now this error on this line:
let postal = Postal(configuration: .gmail(login: login, password: .accessToken(accessToken)))

Able to get accessToken just fine.
Tried different IMAP account. Tried previous working commits. Tried different Google app registration. Tried different Apple cert. Nothing worked.

from postal.

cyracle avatar cyracle commented on August 28, 2024

In my case, the root cause was something changing on my google cert side, and the gmail api scope wasn't part of that google cert anymore. Once the gmail api scope was added back, it worked. Adding the scope via google console web UI never made a difference. Only worked through their api client for changing scope:


func ensureGoogleScope(user: GIDGoogleUser?) {
        let gmailScope = "https://mail.google.com/"
        let grantedScopes = user?.grantedScopes
        if grantedScopes == nil || !grantedScopes!.contains(gmailScope) {
          // Request additional Drive scope.
          let additionalScopes = [gmailScope]
          GIDSignIn.sharedInstance.addScopes(additionalScopes, presenting:  getRootViewController()) { user, error in
              guard error == nil else { return }
              guard let user = user else { return }

            // Check if the user granted access to the scopes you requested.
            print("granted scopes: \(String(describing: user.grantedScopes))")
          }

        }
      }

from postal.

cyracle avatar cyracle commented on August 28, 2024

Suggestion for Postal:
Show the complete error text from google. That would have indicated the exact cause of "Authentication Failed", such as not having the correct scope, or whatever the issue is.

from postal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.