该-u/--user
选项代表基本身份验证。它基本上Authorization
为请求添加了一个 HTTP 标头,用户名/密码以 base64 编码,例如Authorization: Basic Zm9vOmJhcg==
.
Basic auth 正是 Asana API 支持的身份验证方案之一:
Asana API 支持两种独立的身份验证方案:OAuth 2.0 和使用 API 密钥的 HTTP 基本身份验证。
在实践中,根据Asana 文档,客户端应该通过:
API 密钥作为用户名,密码为空
因此,如果您想在普通的 Objective-C 中执行这样的请求,例如,NSURLConnection
您需要做的就是Authorization
自己创建此标头,注意使用空密码。您应该可以轻松做到这一点(请参阅此答案):
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
诸如此类的类别实现的。