Ios RestKit Oauth 2谷歌API

Ios RestKit Oauth 2谷歌API,ios,oauth,oauth-2.0,restkit,google-drive-api,Ios,Oauth,Oauth 2.0,Restkit,Google Drive Api,我试图在iOS上使用RestKit访问GoogleDrive API,但是Oauth身份验证有问题 我一直在关注他们关于这个主题的Wiki页面: 我们基本上是这样创建客户机的: oauthClient = [RKClientOAuth clientWithClientID:[Client Id] secret:[Client Secret] delegate:[Your Delegate]]; [oauthClient setAuthorizationCode:[User Authorizat

我试图在iOS上使用RestKit访问GoogleDrive API,但是Oauth身份验证有问题

我一直在关注他们关于这个主题的Wiki页面:

我们基本上是这样创建客户机的:

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方面没有遇到问题,因为它们主要是在google控制台API中提供的,但我不知道如何获得它们

  • 第二,访问令牌是临时访问令牌还是在googleapi中命名的刷新令牌?如果是第一个,我们如何获得刷新令牌

我一直在尝试用RestKit实现这一点,但可能有更好的方法,所以我愿意接受其他想法。我在Restkit中找不到关于Oauth支持的更多信息


提前感谢

您可以使用Google的Objective-C客户端库来实现驱动API,包括OAuth 2登录


您可以使用Google的Objective-C客户端库来实现驱动器API,包括OAuth 2登录


从客户机ID和客户机密码开始,将用户指向资源所有者的授权服务器。授权服务器和用户相互验证,您的应用程序将返回一个授权代码。返回授权服务器,将授权代码交换为访问令牌


如果访问令牌是时间限制的,则当您发现访问令牌超时时,您将使用刷新令牌请求新的访问令牌。

从您的客户端ID和客户端机密开始,将用户指向资源所有者的授权服务器。授权服务器和用户相互验证,您的应用程序将返回一个授权代码。返回授权服务器,将授权代码交换为访问令牌


如果访问令牌带有时间框,则当发现访问令牌超时时,您将使用刷新令牌请求新的访问令牌。

必须使用Google ObjectiveC库才能访问Google Drive APi。

您必须使用Google Objective库才能访问Google Drive APi。

您找到解决方案了吗?我在使用Restkit时遇到了完全相同的问题。老实说,我真的很困惑,因为wiki让我听起来好像需要在第一个请求中提供授权代码。然而,据我所知,Oauth2的工作原理是,身份验证服务器使用授权代码响应第一个请求,然后在第二个请求中使用授权代码来最终获取访问令牌。您找到解决方案了吗?我在使用Restkit时遇到了完全相同的问题。老实说,我真的很困惑,因为wiki让我听起来好像需要在第一个请求中提供授权代码。然而,据我所知,Oauth2由auth服务器工作,它使用授权代码响应第一个请求,然后在第二个请求中使用授权代码来最终获取访问令牌。