0

我的代码看起来像这样:

OAConsumer *consumer = [[OAConsumer alloc] initWithKey:@"my_ClientID"
                                                secret:@"my_Secret"];

NSURL *url = [NSURL URLWithString:@"https://launchpad.37signals.com/authorization/token"];

OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
                                                               consumer:consumer
                                                                  token:nil   // we don't have a Token yet
                                                                  realm:nil   // our service provider doesn't specify a realm
                                                      signatureProvider:nil]; // use the default method, HMAC-SHA1

[request setHTTPMethod:@"POST"];

NSLog(@"USER URL : %@",[request URL]);
OADataFetcher *fetcher = [[OADataFetcher alloc] init]; 

[fetcher fetchDataWithRequest:request
                     delegate:self
            didFinishSelector:@selector(requestTokenTicket:didFinishWithData:)
              didFailSelector:@selector(requestTokenTicket:didFailWithError:)];

.

- (void)requestTokenTicket:(OAServiceTicket *)ticket didFinishWithData:(NSData *)data {
    if (ticket.didSucceed) {
        NSString *responseBody = [[NSString alloc] initWithData:data
                                                       encoding:NSUTF8StringEncoding];
        OAToken *requestToken = [[OAToken alloc] initWithHTTPResponseBody:responseBody];
        NSLog(@"%@",requestToken);
    }
}

我的 Delegate 方法永远不会获得 (ticket.didSucceed) 成功。

有人能告诉我我在这里想念什么吗?

谢谢

4

1 回答 1

0

看起来您正在尝试让用户首次授权您的应用并生成令牌。为此,您使用了错误的 URL。来自37Signals API

  1. 您的应用通过将用户重定向到 Launchpad 来请求授权: https ://launchpad.37signals.com/authorization/new?type=web_server&client_id=your-client-id&redirect_uri=your-redirect-uri

您使用的 URL 用于从验证码中获取访问令牌。

于 2012-07-10T16:24:28.087 回答