是否有适用于iPhone的23andMe oauth2示例?

时间:2013-06-11 19:18:25

标签: iphone objective-c oauth-2.0 23andme-api

我正在尝试使用oauth2从23和我获取数据,但不断收到“错误请求”代码。这是我第一次使用OAuth2而且我不确定我做错了什么。

当我使用AFOAuth2Client时,我收到错误代码400:

AFOAuth2Client* oauthClient = [AFOAuth2Client clientWithBaseURL:[NSURL URLWithString:@"https://api.23andme.com/"] clientID:clientIDString secret:secretString];



    [oauthClient authenticateUsingOAuthWithPath:@"/token/"
                                           code:@"zzz"
                                    redirectURI:@"myapp://callback/oauth"
                                          scope:@"analyses"
                                        success:^(AFOAuthCredential *credential)
     {
         NSLog(@"I have a token! %@", credential.accessToken);
         [AFOAuthCredential storeCredential:credential withIdentifier:oauthClient.serviceProviderIdentifier];
     }
                                        failure:^(NSError *error) {
                                            NSLog(@"Error: %@", error);
                                        }];

使用以下消息命中错误块:

Error: Error Domain=com.alamofire.networking.error Code=-1011 "Expected status code in (200-299), got 400" UserInfo=0x1fda4f80 {NSErrorFailingURLKey=https://api.23andme.com/token/, NSLocalizedDescription=Expected status code in (200-299), got 400}

当我尝试GTMOauth2Sample时,在授权屏幕解除后我收到invalid_client错误。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用23andme https://github.com/23andMe/OAuth2Client中的此客户端(从https://github.com/nxtbgthng/OAuth2Client分叉)。

这是适用于Mac OS X& S的OAuth2库。 iOS(Cocoa& Cocoa touch)。

实际上OAuth2.0是标准级协议,大多数公司的OAuth2.0服务接口也是标准协议。