几天以来,我们的 Android 和 iOS 应用程序似乎无法再使用 oAuth 进行连接。 事实上,我们收到了 403“disallowed_useragent”错误。
这些应用程序似乎禁止使用“Web 应用程序”客户端 ID。 然而在 Android 版本上,我们使用的是 WebView。
看完https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html :
- 一定要使用“Google 登录”吗?
- “Android”客户端 ID 是否具有“offline_access”权限?
- 我们希望 Android/iOS/web 使用相同的“ID Client”,我们可以在 Android 和 iOS 上更改 userAgent 吗?
提前谢谢你。
亲切地。
最佳答案
在 Android 中:
尝试以下代码修复 Android 中的 oAuth 2 Gmail 连接失败问题
mWebView.getSettings().setUserAgentString("Mozilla/5.0 Google");
在 iOS 中:
尝试以下代码修复IOS中oAuth 2 Gmail连接失败问题
objective-c :
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
swift 3.0:
let dictionaty = NSDictionary(object: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", forKey: "UserAgent" as NSCopying)
UserDefaults.standard.register(defaults: dictionaty)
或者另一种方法是在 config.xml 文件中添加以下代码
<preference name="OverrideUserAgent" value"Mozilla/5.0 Google" />
有关该用户代理的简要信息,请参阅链接:https://mobiforge.com/research-analysis/webviews-and-user-agent-strings
关于java - oAuth 2 Gmail - Android/iOS 连接和服务器使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44366187/