3

私はApp.netの iOS クライアントに取り組んでおり、 AFIncrementalStoreを使用して、Web サービスをアプリの Core Data 実装と同期させたいと考えています。

認証トークンを必要としない API 要求に対して 2 つが機能するようになりましたが、AFIncrementalStore で認証トークンを使用する方法がわかりません。

つまり、認証を必要としないため、グローバル フィードをプルダウンできます。

https://alpha-api.app.net/stream/0/posts/stream/global

...ただし、ユーザーのストリームを取得するには、認証が必要です (このリンクでエラーが発生することに注意してください)。

https://alpha-api.app.net/stream/0/posts/stream

API 呼び出しの末尾にを追加する必要があることは理解していますauth_tokenが、AFIncrementalStore を使用してそれを行う方法がわかりません。

更新:現在グローバル ストリームを取得しているコードのチャンクは次のとおりです。

これは、AFIncrementalStore に含まれるサンプル App.net プロジェクトから直接取得されたメソッドです。

-(NSURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest withContext:(NSManagedObjectContext *)context {
    NSMutableURLRequest *mutableURLRequest = nil;
    if ([fetchRequest.entityName isEqualToString:@"Post"]) {
        mutableURLRequest = [self requestWithMethod:@"GET" path:@"stream/0/posts/stream/global" parameters:nil];
    }

    return mutableURLRequest;
}
4

1 に答える 1

3

アクセス トークンを正しく使用するように上記のケースを変更するには、nil を渡す代わりにパラメーターをリクエストに追加するだけです。

パラメータを作成するNSDictionaryには、必要なキーと値を使用して を作成するだけです。たとえば、私の App.net コードの一部には、これがあります

NSDictionary *params = @{@"access_token": token};

新しいコンパイラ ディレクティブを使用して、トークンNSDictionary内の値を持つ単一のキー (この場合は「access_token」) で を構築します。NSString

これを取得したら、次のようなリクエストを作成します。

[self requestWithMethod:@"GET" path:@"stream/0/posts/stream" parameters:params];

リクエストでパラメータを渡す。

これが十分に明確でない場合はお知らせください。

于 2012-12-21T16:35:09.350 に答える