[英]sending the api key value (production key) through http request in ios
引用了這些等同於curl請求的Objective-C帖子, 在Objective-C中執行基於curl的動作,我為示例嘗試了下面的代碼,我的示例數據如下
curl --get 'https://www.example.com/xyz' \
--user 'API_KEY:API_SECRET' \
--data 'app_id=APP_ID' \
--data 'metrics=users' \
--data 'dimensions=day,new_device' \
--data-urlencode 'conditions={"day":["between","2013-04-01","2013-04-07"]}'
如果我有api密鑰(生產密鑰),如何檢索數據? 以及如何使用上述參數檢索用戶數據? 我試圖這樣做,以傳遞參數以通過url檢索數據。
-(void)doit
{
NSString *userName =@"abc@v.com";
NSString *password =@"cvbnm";
NSError *myError = nil;
NSMutableString *loginString = (NSMutableString*)[@"" stringByAppendingFormat:@"%@:%@", userName, password];
NSLog(@"loginstring=%@",loginString);
NSString *accept = [NSString stringWithFormat:@"application/example"];
NSLog(@"accept %@",accept);
NSString *authHeader = [@"Basic " stringByAppendingFormat:@"%@", loginString];
NSLog(@"auth header =%@",authHeader);
NSURL *url = [NSURL URLWithString:@"https://example.bnm/query"];
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init];
request = [NSMutableURLRequest requestWithURL:url];
[request setURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"users" forKey:@"metrics"];
[request setValue:@"value of api key" forKey:@"API_KEY"];
[request setValue:@"day" forKey:@"dimension"];
[request setValue:@"{"day":["between","2013-04-01","2013-04-07"]}" forKey:@"conditions"];
NSError *error;
NSURLResponse *response;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"data : %@",data);
NSString *result = [NSString stringWithCString:[data bytes] length:[data length]];
NSLog(@"result = %@",result);
}
但是出了點問題,並沒有得到正確的回應。 請幫我解決這個問題,請讓我知道如何解決,任何幫助都會非常有用,請讓我知道是否需要更多信息
問題出在您說[request setValue:forKey:];的行上。
那些實際上沒有設置請求正文,您需要做的是這樣的:
NSString *stringData = @"app_id=APP_ID&metrics=users&foo=bar";
NSData *requestBodyData = [stringData dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody = requestBodyData;
然后嘗試發布它,看看它是否適合您!
編輯:
我還注意到您沒有使用身份驗證,只是在登錄authHeader
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.