我正在尝试在IOS应用中授权用户使用Google日历API.我正在使用Google的OAuth2功能对用户进行身份验证.将打开授权页面,其中包含描述403错误:
此用户代理不允许向Google发出OAuth授权请求,因为它被归类为嵌入式用户代理(也称为Web视图).根据我们的政策,只允许浏览器向Google发出授权请求.我们为本机应用提供了几个库和示例,以便在浏览器中执行授权请求.
我按照此链接中提到的相同步骤操作:https://developers.google.com/google-apps/calendar/quickstart/ios
不要看我的代码,最好查看以下链接:https: //developers.google.com/google-apps/calendar/quickstart/ios, 因为我在我的应用程序中复制粘贴相同的内容.
下面是我的clientId和keyChainItemName:
static NSString *const kKeychainItemName = @"Google Calendar API";
static NSString *const kClientID = @"954370342601-sgl8k0jrbqdeagea9v6vfu3tspte96ci.apps.googleusercontent.com";
Run Code Online (Sandbox Code Playgroud) 几个星期前我问了一个问题,我认为它可以解决谷歌登录/注册的问题,但它仍然存在问题.
当您输入电子邮件和密码并单击下一步时,页面将变为空白,并且没有任何反应.没有重定向,没有加载,没有.
在Safari中,页面重定向并成功登录.
我已尝试使用stackoverflow.com进行Google登录,但它确实有效!
但我相信它使用的是另一种方法,因为它不会向我询问任何内容,登录只会发生.它甚至没有要求我选择我想登录的帐户.一切都是自动发生的.
通常情况下,如果您输入了电子邮件和密码,Google会要求您选择要用于登录的帐户,而无需再次输入信息.
随着getpocket.com出现此屏幕,我点击我的帐户并冻结.橙色加载条动画播放没有尽头.
我无法理解这是什么问题.
它可能是用户代理吗?
有任何想法吗?
WKWebView的初始化非常基础:
_webView = [[WKWebView alloc] init];
_webView.allowsBackForwardNavigationGestures = NO;
_webView.allowsLinkPreview = NO;
_webView.navigationDelegate = self;
_webView.UIDelegate = self;
_webView.frame = CGRectMake(0.0, 0.0, self.contentView.frame.size.width, self.contentView.frame.size.height);
[self.contentView addSubview:_webView];
Run Code Online (Sandbox Code Playgroud)
我甚至尝试了一个流行的网络浏览器iCab Web浏览器,问题仍然存在于getpocket.com