Опция -u/--user
означает Basic Authentication. Он в основном добавляет HTTP-заголовок Authorization
к запросу с именем пользователя/паролем, закодированным в base64, например Authorization: Basic Zm9vOmJhcg==
.
Основные аутентификации именно один из схемы аутентификации, поддерживаемой API асан:
асана API поддерживает две отдельные схемы аутентификации: OAuth 2.0 и базовой HTTP аутентификации с использованием ключей API.
На практике и в соответствии с Asana docs, клиенты должны пройти:
клавишу API в качестве имени пользователя и пустой пароль
Так что если вы хотите, чтобы выполнить такие запрос в простой Objective-C, например, с NSURLConnection
, все, что вам нужно сделать, это создать этот заголовок Authorization
самостоятельно, заботясь о том, чтобы использовать пустой пароль. Вы должны быть в состоянии сделать это легко (см это answer):
NSString *authStr = [NSString stringWithFormat:@"%@:", apiKey];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodingWithLineLength:80]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
Примечание: base64 кодирование достигается с помощью NSData
категории, такие как this one.
благодарит за вашу помощь! Любые советы о том, как я могу использовать переменные, например, с curl: curl -u myapiKey12345: https://app.asana.com/api/1.0/projects -d "name = Test Job" -d "notes = Test бла «. -d "workspace = 11234456789" -d "team = 12345466778" – adamteale
Я получил работу, большое спасибо! – adamteale
@adamteale, если это сработало, вы должны перенести и принять его ответ ;-) Спасибо @deltheil! – agnoster