iOS で RestKit を使用して Google Drive API にアクセスしようとしていますが、Oauth 認証に問題があります。
私は彼らがここで主題について持っている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 はほとんどが Google コンソール API で提供されているため、問題はありませんでしたが、それを取得する方法がわかりません。
2 つ目は、Google API で名前が付けられているように、アクセス トークンが一時的なアクセス トークンまたはリフレッシュ トークンになることです。初めての場合、どうすれば更新トークンを取得できますか?
私はRestKitでこれをやろうとしていますが、もっと良い方法があるかもしれないので、他のアイデアを受け入れています. Restkit での Oauth サポートに関する情報はあまり見つかりません。
事前に感謝