0

我正在ASWebAuthenticationSession尝试在原生 Mac 应用程序中使用 Google 的 OAuth 2.0 API 进行身份验证。我在 Google Developer Console 中将我的应用程序注册为这样的Desktop类型应用程序:

在此处输入图像描述

我这样构建我的 URL:

func createGmailURL() -> String{
  var url = String.init()

  url.append("https://accounts.google.com/o/oauth2/v2/auth")
  url.append("?client_id=*****.apps.googleusercontent.com")
  url.append("&redirect_uri=cova://oauth/gmail")
  url.append("&response_type=code")
  url.append("&scope=https://mail.google.com/")
    
  return url
}

然后我发起这样的请求:

let url = createGmailURL()
    
guard let authURL = URL(string: url) else { return }
let scheme = "cova"
   
let session = ASWebAuthenticationSession(url: authURL, callbackURLScheme: scheme){ callbackURL, error in
  ...
}

由于与redirect_uri.

在此处输入图像描述

我一辈子都看不到我做错了什么。Google 似乎不想让我使用自定义 URI。我是否必须将应用程序类型更改为其他类型?Desktop不适用于 Mac 应用程序?

4

0 回答 0