Я работаю над веб-приложением Flutter для доступа к своим почтовым сообщениям Google (это мои первые приложения Flutter).
API, которые я использую:
googleapis: ^0.54.0
googleapis_auth: ^0.2.11+1
http: ^0.12.0+4
Когда я использую clientViaUserConsent , появляется iframe для входа в Google, но без задержек функция выдает UserConsentError с сообщением «Не удалось получить согласие пользователя: idpiframe_initialization_failed.». Я попробовал несколько советов, таких как создание нового client_id, очистка кэшей и файлов cookie, но всегда получал одинаковые результаты.
Я потратил два дня на эту проблему, но не вижу, где что-то пропустил.
Есть идеи, где мне искать?
Спасибо.
Ниже моего кода:
try {
BrowserOAuth2Flow flow = await createImplicitBrowserFlow(id, _SCOPES);
AuthClient http_client;
try {
http_client = await flow.clientViaUserConsent(immediate: false);
this._client = GmailApi(http_client);
//flow.close();
return _makeResponse(MailNavigatorModelResponse.ok);
} catch (er1) {
mailLog.fine(
"[${mailLog.name}] connect Google : failure ${er1.toString()} ");
// flow.close();
return _makeResponse(MailNavigatorModelResponse.ko,
msg: er1.toString());
}
} catch (e) {
mailLog.fine(
"[${mailLog.name}] auth Google : failure ${e.toString()} / ${e.runtimeType}");
return _makeResponse(MailNavigatorModelResponse.ko, msg: e.toString());
}