我正在致力于实现一个 iOS 应用程序,该应用程序将从 Google Drive 文档中提取内容。该文档对于每个客户来说都是相同的,并且与用户的 Google 帐户完全分开。
我按照教程观看了有关如何将 SDK 用于 Xcode 项目的视频,还在 API 控制台上设置了 Google Drive 应用程序并创建了其服务帐户。我的问题是如何在客户端幻灯片上跳过用户身份验证步骤以防止访问他们自己的 Google 帐户并简单地连接到应用程序服务帐户。
在 Java (Android) 中可以将 SDK 与服务帐户结合使用,但在 iOS 中则不行。我不知道为什么,我希望这种情况将来会改变。
目前,以编程方式登录到充当服务帐户的应用程序谷歌帐户的唯一方法是 hacky。您需要登录一次应用程序并保存从 API 检索到的身份验证令牌。然后你可以像这样重用它:
_driveService = [[GTLServiceDrive alloc] init];
GTMOAuth2Authentication *auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName clientID:kClientID clientSecret:kClientSecret];
[auth setKeysForPersistenceResponseString:kDriveAPIToken];
_driveService.authorizer = auth;
Google 表示,除非达到同时有效令牌的最大数量,否则令牌不会更改,然后令牌将通过 FIFO 清除(最旧的有效令牌将失效)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)