我試圖在iOS上使用RestKit訪問Google Drive API,但我遇到了Oauth驗證問題。RestKit Oauth 2 Google API
我一直在關注的Wiki頁面,他們對這個問題在這裏: Oauth Support On RestKit
基本上我們創建客戶端這樣的:
oauthClient = [RKClientOAuth clientWithClientID:[Client Id] secret:[Client Secret] delegate:[Your Delegate]];
[oauthClient setAuthorizationCode:[User Authorization Code]];
[oauthClient setAuthorizationURL:[Authorization Endpoint]];
[oauthClient setCallbackURL:[Your application callbackurl]];
[oauthClient validateAuthorizationCode];
我們收到的委託訪問令牌方法
- (void)OAuthClient:(RKOAuthClient *)client didAcquireAccessToken:(NSString *)token
在這裏我們可以創建一個ObjectManager來使請求和所有其他操作
RKObjectManager* objectManager = [RKObjectManager sharedManager];
objectManager.client.baseURL = @"YOUR API URL";
objectManager.client.OAuth2AccessToken = @"YOUR ACCESS TOKEN";
objectManager.client.authenticationType = RKRequestAuthenticationTypeOAuth2;
有了這些,我遇到了一些問題。
首先是我們如何獲得所需要的授權碼在這裏:
[oauthClient setAuthorizationCode:[User Authorization Code]];
我還沒有與客戶端ID,客戶端密鑰,授權端點,回調URL和API URL問題,因爲它們主要提供在谷歌控制檯API,但我不知道如何獲得。
其次是訪問令牌將是一個時間訪問令牌或刷新令牌,因爲他們是在谷歌API中命名?如果它是第一個,我們如何獲得刷新令牌?
我一直在試圖與RestKit要做到這一點,但可能會有更好的辦法,所以我開到其他的想法。我無法在Restkit中找到有關Oauth支持的許多信息。
由於事先
您是否找到了解決方案呢?在使用Restkit時遇到了同樣的問題。老實說,我真的很困惑,因爲維基聽起來像我需要在第一個請求中提供授權代碼。然而就我所知,Oauth2是由auth服務器響應第一個請求響應授權代碼,然後在第二個請求中使用它來最終獲取訪問令牌。 – Vlad