Google API認証にOAuthSwift
ポッドを使用しています。コールバックで、更新トークンがありません。 Googleが500 Server Error
を返しているので、ユーザーが既に認証された後に新しいトークンを要求しようとすると、私はリフレッシュトークンを保存して、次回のログイン時にユーザーを認証して新しいトークンを取得します。Googleからの更新トークンを取得する方法Google Data API OAuth 2 iOS
これは私のコードです:
let callback = "\(Bundle.main.bundleIdentifier ?? ""):/oauth2Callback"
_ = ytOAuth2Swift?.authorize(
withCallbackURL: URL(string: callback)!,
scope: "https://www.googleapis.com/auth/youtube", state: state,
success: { credential, response, parameters in
print("YouTube Access_Token \(credential.oauthToken)")
print("YouTube efreshR_Token \(credential.oauthRefreshToken)")
},
failure: { error in
print("ERROR: \(error.localizedDescription)")
}
)
これは、我々は戻って得るか応答であります!
、GoogleのAPIドキュメントによると、これは来るべきで応答である:
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer",
"refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
私が埋め込まWebView
運を使用してみました:
[
こんにちは@カロール、すてきな答えをありがとう。私が開発できる唯一の方法は、アクセスを取り消し続けることです。それ以外の場合は、私に 'access_token'も与えません:D。私は 'access_type = offline'を試してみましょう。 –
あなたの歓迎:) Googleのrefresh_tokenは期限切れではないので、あなたが望む数のaccess_tokensを取得するために使うことができます。 –
こんにちは@Karol、取り消し後、さらには新しいGoogle Appを作成しても、APIはrefresh_tokenを除く3つのパラメータを返します。多くのありがとう –