我必须更改我的 cordova 应用程序中的用户代理,以便 google 登录继续工作(google 现在似乎阻止 webview 访问其 oauth 工作流程)。
我在 config.xml 中添加了此首选项:
<preference name="OverrideUserAgent" value="Mozilla/5.0 Google" />
这解决了 Google 问题,但现在 Facebook 登录页面无法像移动设备一样加载。它加载浏览器登录页面(有意义)。
我找到了强制桌面模式的方法: http://www.facebook.com/?m2w
是否有类似的东西,但强制移动版本。
我应该使用其他用户代理“Mozilla/5.0 Google”吗?
此网址需要在移动版本中:https://touch.facebook.com/v2.0/dialog/oauth .
谢谢。
最佳答案
也许有点晚了,但由于我遇到了同样的问题并找到了解决方案,所以我会发布它:
直接复制粘贴答案是:
<preference name= "OverrideUserAgent" value="Mozilla/5.0 (Linux; Android 4.4.4; One Build/KTU84L.H4) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/28.0.0.20.16;] Mozilla/5.0 (Linux; Android 4.4.4; One Build/KTU84L.H4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Mobile Safari/537.36" />
对于其他应用程序:
Facebook for Android 用户代理字符串:
Mozilla/5.0 (Linux; Android 4.4.4; One Build/KTU84L.H4) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/28.0.0.20.16;]
Twitter for Android 用户代理字符串
Mozilla/5.0 (Linux; Android 4.4.4; One Build/KTU84L.H4) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36
Android 用户代理字符串
Mozilla/5.0 (Linux; Android 4.4.4; One Build/KTU84L.H4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Mobile Safari/537.36
Facebook for iOS 用户代理字符串
Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 [FBAN/FBIOS;FBAV/27.0.0.10.12;FBBV/8291884;FBDV/iPhone7,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/8.2;FBSS/3; FBCR/vodafoneIE;FBID/phone;FBLC/en_US;FBOP/5]
Twitter for iOS 用户代理字符串
Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508
来源:https://mobiforge.com/research-analysis/webviews-and-user-agent-strings
关于facebook - 作为移动设备的 OAuth Facebook 页面(useragent 和 cordova),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42681616/