gpt4 book ai didi

android - 如何使用 OAuth 2.0 验证 flutter 应用程序以访问 Gmail api?

转载 作者:行者123 更新时间:2023-12-04 23:50:54 25 4
gpt4 key购买 nike

在过去的一周里,我一直在尝试访问 Gmail api,但似乎不可能。它在网络应用程序中是可行的,但对于可安装的应用程序,运气不好。我已经使用了所有的插件并通读了所有的文档。我也了解如何使用 http 请求来完成此操作,但后来我必须手动使用刷新 token ,这绝对不是正确的做法。

通过使用各种包,我可以获得授权代码,但是当我关闭 Web View 窗口时,出现错误。每条路对我来说似乎都被封锁了。堆栈溢出也没有足够的答案。

这是我到目前为止所做的:

  1. 我使用了 google api 和 googleapi auth 包来登录。它提供了一个用户同意的登录 URL,这在浏览器中是成功的,但随后它在浏览器的 url 中返回了一个身份验证代码并且没有答案我可以在包中的哪个位置使用代码获取访问 token 。

  2. 我使用了 Google 登录包,但它绝对没用,因为我不是要获取公共(public)配置文件,而是要获取访问 token 。它给我错误,说我没有权限。

  3. 我使用了简单的 auth 和 oauth2 客户端包,但就像没有。 1,在用户同意后,我无处放置授权码。我正在慢慢失去所有希望,顺便说一句,这是针对 Android 应用程序的

最佳答案

尝试签证 - https://github.com/e-oj/visa

这是一个 Facebook 身份验证的例子(它也支持谷歌):

import 'package:visa/auth-data.dart';
import 'package:visa/fb.dart';

class AuthPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
/// Simply Provide all the necessary credentials
body: FaceBookAuth().visa.authenticate(
clientID: '139732240983759',
redirectUri: 'https://www.e-oj.com/oauth',
scope: 'public_profile,email',
state: 'fbAuth',
onDone: done
)
);
}
}

和“完成”回调:

done(AuthData authData){
print(authData);

/// You can pass the [AuthData] object to a
/// post-authentication screen. It contaions
/// all the user and OAuth data collected during
/// the authentication process. In this example,
/// our post-authentication screen is "complete-profile".
Navigator.pushReplacementNamed(
context, '/complete-profile', arguments: authData
);
}

关于android - 如何使用 OAuth 2.0 验证 flutter 应用程序以访问 Gmail api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62978752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com