eip*_*puz 5 ios google-drive-api
我按照以下网址发出的说明操作:https://developers.google.com/drive/ios/quickstart?ver = swift.
昨天它工作,但今天早上似乎总是失败.奇怪的是我正在使用他们的原生SDK.我不知道为什么它相信我正在使用网络视图.确切的错误是:
此用户代理不允许向Google发出OAuth授权请求,因为它被归类为嵌入式用户代理(也称为Web视图).根据我们的政策,只允许浏览器向Google发出授权请求.我们为本机应用程序提供了几个库和示例,以便在浏览器中执行授权请求.
我克隆了:https://github.com/googledrive/ios-quickeditor并得到了同样的错误.
这是一个不幸的答案:是的,您正在使用 Google 的iOS Quickstart中的示例,即您所说的“本机 SDK”。然而,这已经过时了,因为它使用的正是 Google 不希望您再使用的嵌入式 Web 视图。
如果它以前确实有效,但突然停止了(就像我自己经历过的那样),则可能与您更改与客户端 ID 相关的内容有关。对于存在一段时间的客户端 ID,似乎有更长的宽限期,直到 Google 硬阻止 Web 视图的使用(我理解,目前应该仍然只有一些警告)。我最近出于不相关的原因创建了一个新的客户端 ID,似乎就是造成这种情况的原因,让我不得不在短时间内更换新版本的 Google Drive 身份验证代码。
至于选项(到目前为止,只有其他受访者从 Google 博客文章中列出了您的问题),经过一番研究后,GTMAppAuth 对我来说似乎是最可行的选项,因为我对完整的用户登录不感兴趣和-出。但我可能错了。
GTMAppAuth有适用于 iOS 的示例代码,但仅使用 Objective-C。我还没有做到这一点。一般来说,您的代码逻辑将像这样改变:您当前的解决方案纯粹在您的应用程序内进行身份验证。它是异步的,但不会离开您的应用程序。新的解决方案要求您在准备和记住回调功能的同时在应用程序中启动身份验证。然后,身份验证启动会在外部打开一个浏览器,完成后会在您的应用程序委托中引发 URL 回调。然后,在您的应用程序委托中,您检查准备好的回调,并根据外部调用的结果状态,通知用户外部身份验证成功或失败。
| 归档时间: |
|
| 查看次数: |
21600 次 |
| 最近记录: |