2013-07-05 37 views
0

我「米試圖將數據發佈,從目標C服務器,我試圖讓在它返回一個JSON目標C從Snapchat/Snaphax API獲取JSON

我看Snaphax的API PHP和Snaphaxpy API,並試圖從PHP改寫爲目的C. 的代碼鏈接: https://github.com/tlack/snaphax https://github.com/jasonanovak/snaphaxpy/blob/master/snaphaxpy.py

我還特別看:http://adamcaudill.com/2012/06/16/snapchat-api-and-security/ 但顯然這是過時的

我的代碼是:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://feelinsonice.appspot.com/ph/login"]]; 
    [request setHTTPMethod:@"POST"]; 
    [request addValue:@"******testusername******" forHTTPHeaderField:@"username"]; 
    [request addValue:@"*********" forHTTPHeaderField:@"password"]; 
    [request addValue:@"M02cnQ51Ji97vwT4" forHTTPHeaderField:@"blob_enc_key"]; 
    [request addValue:@"false" forHTTPHeaderField:@"debug"]; 
    [request addValue:@"iEk21fuwZApXlz93750dmW22pw389dPwOk" forHTTPHeaderField:@"secret"]; 
    [request addValue:@"m198sOkJEn37DjqZ32lpRu76xmw288xSQ9" forHTTPHeaderField:@"static_token"]; 
    [request addValue:@"Snaphax 4.0.1 (iPad; iPhone OS 6.0; en_US)" forHTTPHeaderField:@"user_agent"]; 
    [request addValue:@"930cf95a6731dc986ef3bceef6abbaf420e94d8d197dca87b9b47314d8c51b3b" forHTTPHeaderField:@"req_token"]; 
    [request addValue:@"1355776346532" forHTTPHeaderField:@"timestamp"]; 


    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];   
    NSString *dataString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 

    NSLog(@"%@", dataString); 

我沒有將真正的username/password。但是,怎麼會這樣,因爲我從字面上複製了我用新語言發現並實現的所有內容......

我是不是正確地發佈數據?我嘗試使用ASIHTTPRequest,但我無法得到那個工作...

根據經驗的任何建議或想法?

+0

您是否使用NSURLConnection初始化了您的請求? – Engnyl

+0

您尚未指定任何POST數據。使用「application/x-www-form-urlencoded」作爲內容類型的原始代碼是什麼? – CouchDeveloper

回答

2

檢查我的答案在這裏:how can I use NSURLConnection Asynchronously?

您可以通過使用HTTPCachedController的

HTTPCachedController *ctrl = [[[HTTPCachedController alloc] initWithRequestType:1 andDelegate:self] autorelease]; 
[ctrl postRequestToURL:@"https://feelinsonice.appspot.com/ph/login" withData:@"username=user1&password=pass& ... "]; 

源代碼發送POST請求可以在這裏找到:HTTPCachedController

+0

真的很好。乾杯!仍然需要嘗試連接它,但現在好多了,謝謝! :) – falky

0

如果您正在尋找更新端點和什麼,我寫了一個快速的Python腳本,你應該能夠通讀一些端點和他們需要的參數。有些端點如下:

無恥插件獲得快照:我主持了一個包裝Snapchat API,因此您不必在項目中實施加密,您可以安全地使用時間,並且項目效率更高。檢查出來here!

你還會注意到JSON中有很多奇怪的縮寫(像Adam說的,Snapchat的API並不是真正爲人類消費而建的),所以我已經提前將它映射出來了:

ID: id 
Snap ID: c_id 
Media Type: m = 0 (pic), 1 (video) 
Sent Timestamp: sts 
Opened Timestamp: ts 
Sender: sn 
Recipient: rp 
Status: st = 1 (sent to you), 2 (sent by you) 
Time: t 
Screenshot Count: c 

注:我會更新該回購與未來一個月左右的時間內一些新的代碼。而且,由於某些原因,對於不同的請求,最新的端點通常在/ ph /和/ bq /之間變化,所以當你打算使用另一個端點時,不要意外使用一個端點。