2012-12-20 33 views
3

我正在使用iOS客戶端App.net,並且我想使用AFIncrementalStore將Web服務與我的Core Data實現同步到應用中。將AFIncrementalStore與Auth令牌一起使用

我已經得到了這兩個工作的API請求,不需要身份驗證令牌,但我無法弄清楚如何使用AFINcrementalStore身份驗證令牌。

換句話說,我能拉下全球飼料,因爲它不要求身份驗證:

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

...但是,要獲得用戶的視頻流,需要身份驗證(你會注意到這個鏈接給出了一個錯誤):

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

我明白,我需要一個auth_token追加到API調用結束,但我不知道怎麼做,使用AFIncrementalStore 。

更新:這裏的代碼塊,目前使用的是全局流:

這是一個方法,直接從example App.net project included in AFIncrementalStore拉。

-(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; 
} 
+0

你可以從你如何檢索全球流張貼一些代碼? –

+0

@KeithSmiley更新!謝謝。 – bryanjclark

回答

3

所有你有以上的情況下這樣做就改變它的正確使用一個訪問令牌是添加參數的要求,而不是通過零。

要構建參數,只需使用您需要的鍵和值創建一個NSDictionary。例如,在我的一些App.net代碼,我有這個

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

使用新compiler directives這個建立與單個鍵的NSDictionary(在這種情況下,「ACCESS_TOKEN」)與在NSString令牌值。

之後,你有這只是讓你的要求是這樣的:

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

要通過在請求中的參數。

讓我知道如果這不夠清楚!

+0

太棒了!謝謝Keith! – bryanjclark

+0

@bryanjclark很高興我可以幫到 –

+0

如果我想在POST請求或發送給服務器的每個*請求上添加一個'auth_token',請詳細說明一下如何去做?我正確地認爲'requestForFetchRequest'只適用於GET請求(例如'index','show'動作)?謝謝! –

相關問題