2017-03-03 53 views
1

我試圖啓用服務器端離線訪問Google API的用戶從iOS應用程序進行身份驗證。這是爲了讓服務器能夠持續訪問iOS應用以外的Google API。啓用服務器端從iOS應用程序離線訪問Google API

谷歌文檔下面的方法: https://developers.google.com/identity/sign-in/ios/offline-access

我跟着他們與準系統項目正好文檔。但是,每當我嘗試交換訪問和刷新令牌的一次性授權碼時,我在交換過程中會收到一個'redirect_uri_mismatch'錯誤。

我搜索了論壇和一些人推薦配置谷歌API項目OAuth 2.0客戶端ID(從谷歌開發者控制檯)沒有重定向的URI。然而,這將導致錯誤「缺少財產‘redirect_uris中’,在‘網絡’的客戶端類型」

我也嘗試過其他的OAuth 2.0客戶端ID類型(例如,其他),但沒有運氣。

有沒有人能夠讓這個流程工作?任何幫助將不勝感激!

回答

0

我也碰到過這個。 Google的例子是錯誤的,或者至少是不完整的。你必須設置開發者控制檯重定向URI並把它傳遞到OAuth客戶端,像這樣:

credentials = client.credentials_from_clientsecrets_and_code(
CLIENT_SECRET_FILE, 
['https://www.googleapis.com/auth/drive.appdata', 'profile', 'email'], 
auth_code, None, "your redirect uri") 
這裏

完整文檔http://oauth2client.readthedocs.io/en/latest/source/oauth2client.client.html

相關問題