0

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 サポートに関する情報はあまり見つかりません。

事前に感謝

4

3 に答える 3

4

Google ドライブ API にアクセスするには、Google ObjectiveC ライブラリを使用する必要があります。 https://developers.google.com/drive/quickstart-ios

于 2012-11-28T14:35:12.693 に答える
0

OAuth 2サインインを含む、ドライブAPI用のGoogleのObjective-Cクライアントライブラリを使用できます。

http://code.google.com/p/google-api-objectivec-client/

于 2012-06-28T03:47:01.393 に答える
0

クライアント ID とクライアント シークレットから始めて、ユーザーをリソース所有者の承認サーバーに誘導します。承認サーバーとユーザーが相互に検証し、アプリに承認コードが返されます。認証サーバーに戻り、認証コードをアクセス トークンと交換します。

アクセス トークンがタイム ボックス化されている場合、アクセス トークンがタイムアウトしたことがわかったときに、リフレッシュ トークンを使用して新しいアクセス トークンを要求します。

于 2012-07-04T22:23:37.077 に答える