2016-05-19 100 views
0

我正在寫一些服務器API。我正在使用RestKit,但是我沒有寫這個問題。我不明白爲什麼控制檯請求正在工作,而我不是。請幫我解決一下這個。PUT請求和標頭令牌

-(void)uploadFile { 

    NSString *URLPath = [NSString stringWithFormat:@"https://api.interlabs.pro/v1/texts/23041/content"]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:[NSURL URLWithString:URLPath]]; 
    [request setHTTPMethod:@"PUT"]; 

    [request addValue: @"Bearer ewogICAgInR5cCI6ICJKV1QiLAogICAgImFsZyI6ICJIUzI1NiIKfQ.ewogICAgImlzcyI6ICJhcGkuaW50ZXJsYWJzLnBybyIsCiAgICAiaWF0IjogMTQ2MzY3ODg2NCwKICAgICJleHAiOiAxNDYzNjgyNDY0LAogICAgInN1YiI6IDgzCn0.SuvGXfsDDzpA5-qJtRUZi7uw98IqA8_axfTGcMVjZdw" forHTTPHeaderField: @"Authorization"]; 


    NSError *err; 
    NSURLResponse *response; 

    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; 



    NSString *resSrt = [[NSString alloc]initWithData:responseData encoding:NSASCIIStringEncoding]; 
    NSLog(resSrt); 
} 

,它仍然無法正常工作,但控制檯工作完全

enter link description here

update token link

+0

你會得到什麼錯誤? –

+0

'message「:」expired token「'似乎夠清楚了...... –

+0

@Marc token有過期時間@Teja我有'missing authentication token',可以使用'update token link'並試試這個 –

回答

0

的代碼工作正常,結果是令牌已過期。 但是你不應該使用像「NSURLConnection sendSynchronousRequest」這樣的廢棄的方法,那麼你應該檢查錯誤,當處理來自互聯網的結果時,大部分時間是utf8,而不是ascii。然後,當日志記錄字符串使用NSLog(@「%@」,theString)以避免問題,如果該字符串的內容包含格式化說明符。

+0

我有這個日誌與正常的標記'{「錯誤」:{「id」:「38fa281a-a954-434e-b15e-a7f251601e98」,「code」:403,「message」:「missing authentication token」}}'我用NSURLSession並且有相同的結果'如果你使用新的令牌從第二個鏈接你將有另一個結果 –

+0

這兩個令牌給我「消息」:「過期令牌」 編輯:確保數據不是來自lokal或遠程緩存 –

+0

@ MacGritsch,如果你使用第二個鏈接並複製新的令牌,並將其放在第一個鏈接頭文件中,你將得到'HTTP/1.1 302 Found',但是如果你在代碼中添加新的令牌,你將會得到代碼: 403,「消息」:「缺少認證令牌」 –