首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFNetworking http基本身份验证会出现“您的API键没有正确格式化”错误。

AFNetworking http基本身份验证会出现“您的API键没有正确格式化”错误。
EN

Stack Overflow用户
提问于 2016-05-01 00:32:25
回答 1查看 508关注 0票数 1

尝试使用邮差api,但遇到授权问题。

引用他们的网站:

认证 Postmates需要通过HTTP头进行身份验证。您的API键应该包含在用户名中。密码应保留为空。 实际使用的标题将是一个base64 64编码的字符串,如下所示: Basic Y2YyZjJkNmQtYTMxNC00NGE4LWI2MDAtNTA1M2MwYWYzMTY1Og==

我试过像这样使用AFNetworking

代码语言:javascript
复制
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSURLCredential *credential = [NSURLCredential credentialWithUser:@"(my postmates key)" password:@"" persistence:NSURLCredentialPersistenceNone];

NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:@"GET" URLString:@"https://api.postmates.com/v1/delivery_zones" parameters:nil];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCredential:credential];
[operation setResponseSerializer:[AFJSONResponseSerializer alloc]];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Failure: %@", error);
}];

[manager.operationQueue addOperation:operation];    

我得到的错误信息是

代码语言:javascript
复制
   Incorrect NSStringEncoding value 0x0000 detected. Assuming NSASCIIStringEncoding. Will stop this compatiblity mapping behavior in the near future.

 Success: {
        code = "invalid_authorization_header";
        kind = error;
        message = "Your API key was not formatted properly";
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-01 00:42:49

与其创建凭据,不如尝试:

代码语言:javascript
复制
[request setValue:@"Basic Y2YyZjJkNmQtYTMxNC00NGE4LWI2MDAtNTA1M2MwYWYzMTY1Og==" forHTTPHeaderField:@"Authorization"];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36961734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档