我正在實施將從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