我正在实施将从Google云端硬盘文档中提取内容的iOS应用。这份文件对于每个客户都是一样的,并且完全与用户Google帐户分开。 我遵循教程并观看了关于如何使用SDK进行Xcode项目的视频,我还在API控制台上设置了Google驱动器应用程序并创建了其服务帐户。我的问题在于,在客户端幻灯片中,如何跳过用户身份验证步骤来阻止访问他们自己的Google帐户,并简单地连接到应用服务帐户。使用应用服务帐户的iOS版Google Drive API
回答
即使用户正在访问他们自己的数据,您的应用程序也获得了访问权限,以便为用户提供服务或功能。这使得Google有必要要求并获得用户对数据共享的同意。
我们可以生成我们的谷歌帐户的访问令牌?无论如何都要在代码中手动添加该令牌... https://developers.google.com/drive/web/service-accounts – Bulla 2014-04-25 09:28:23
在Java(Android)中可以使用带服务帐户的SDK,但不能使用iOS。我不知道为什么,我希望将来这会改变。
现在,以编程方式登录到您的应用程序的Google帐户将充当服务帐户的唯一方法是hacky。您需要在应用程序上记录一次,并保存从API中检索的身份验证令牌。然后,你可以重复使用它是这样的:
_driveService = [[GTLServiceDrive alloc] init];
GTMOAuth2Authentication *auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName clientID:kClientID clientSecret:kClientSecret];
[auth setKeysForPersistenceResponseString:kDriveAPIToken];
_driveService.authorizer = auth;
谷歌表示,该令牌不会改变,除非是同时达到有效令牌的最大数量,然后标记由FIFO(最老的有效凭证无效)清除。
您能详细阐述一下您的信息:在iOS中使用服务帐户是不可能?我无法在Google上找到有关此问题的任何内容,但我无法在iOS SDK中找到与自己的服务帐户有关的任何内容... – 2015-04-30 08:25:40
对于java中的服务帐户:https://developers.google.com/identity /协议/ OAuth2ServiceAccount。 iOS上没有这样的东西(至少我在1年前看过)。 – lukas 2015-04-30 12:58:38
自从十月份发布我的帖子以来,我改变了我的工作流程。我现在有一个中间API,它将通过服务帐户连接到Google API。我的Android和iOS应用将连接到我的API。这种方式更清洁可靠。 – lukas 2015-04-30 13:00:48
- 1. 使用Google Drive V3 API和服务帐户验证,WebViewLink为空
- 2. invalid_grant使用服务帐户和Google Drive API返回
- 3. 我的Android应用程序的Google Drive服务帐户
- 4. Google Drive API:复制带有服务帐户的文件
- 5. Google Drive与Salesforce集成使用服务帐户
- 6. 服务帐户,应用引擎,Go,Google API
- 7. Google Drive Api的帐户授权
- 8. 使用服务帐户在PHP上使用Google Calendar API
- 9. 使用适用于iOS的Google Drive API应用程序
- 10. 使用服务帐户模拟Google用户
- 11. 使用Google Oauth2 Credentials'服务帐户'模拟用户EMAIL ID
- 12. 带有服务帐户的Google Reports API
- 13. 使用服务帐户访问Google Analytics API不起作用
- 14. google api服务帐户访问用户任务列表
- 15. 使用Google Play服务访问Google Drive API配额?
- 16. Google API的用户费率限制和服务帐户
- 17. 使用服务帐户致电Google Glass Mirror API
- 18. 使用Google Admin SDK使用服务帐户创建用户?
- 19. iOS Google云端存储API服务帐户访问
- 20. Drive API上的服务帐户已达到存储限制
- 21. Google Drive API - 使用Google.Apis.Authentication
- 22. Google Drive API - 如何使用域范围的服务帐户并获取域中的所有文档列表
- 23. 如何使用Google Drive .NET API的服务帐户访问团队云端硬盘
- 24. 如何从Google帐户注销并使用Google Drive Android API再次显示帐户选择器
- 25. 从后台服务使用Android Drive API
- 26. 使用服务帐户的Google API访问oauth2client.client.CryptoUnavailableError:没有可用的加密库
- 27. 有没有办法从Android使用应用程序的帐户写入Google Drive
- 28. Gsuite平台应用Web服务器应用+服务帐户
- 29. 使用Google Drive api测试Google凭证
- 30. Google Drive API服务帐户“用户已超出其云端硬盘存储空间配额”python
我面临同样的问题。如果你找到解决方案,请帮我弄清楚.. http://stackoverflow.com/questions/23268608/google-drive-api-login-programmatically – Bulla 2014-04-25 09:29:51