java - oAuth 2 Gmail - Android/iOS 连接和服务器使用

标签 java android ios oauth-2.0

几天以来,我们的 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/

相关文章:

java - 在 Heroku 上部署 war 所需的步骤

java - 应用程序使用 Canvas 上的矩阵计算使 native 代码中的 Android 4.3+ 崩溃

java - 将数组列表从多个 fragment 传递到 Activity

ios - 切换到其他 View 会破坏应用程序 xcode

java - 如何从 Activity onCreate 方法调用 fragment

java - 在 Java 中嵌入树状图

java - 如何在android中的sqlite数据库中插入日期选择器和时间选择器

ios - 使用 RestKit 0.20 的对象映射关系

ios - 如何在另一个选项卡中向 View Controller 发送消息

java - 如何从 Java 代码启动 Apache Storm UI?