2013-03-27 1 views
0

Я пытаюсь использовать full Instapaper API через AFOAuth2Client library, но я продолжаю получать код ошибки 401. Я не знаю, что не так с моим кодом. У меня определенно есть правильный идентификатор и секрет, когда я копирую и вставляю их из письма.При использовании API Instapaper, почему я постоянно получаю ошибки 401?

- (IBAction)loginPressed:(UIButton *)sender { 
    NSURL *baseURL = [NSURL URLWithString:@"https://www.instapaper.com/"]; 

    AFOAuth2Client *OAuthClient = [AFOAuth2Client clientWithBaseURL:baseURL 
                clientID:@"fromEmail" 
                secret:@"fromEmail"]; 

    NSDictionary *parameters = @{ 
     @"x_auth_username:" : self.usernameField.text, 
     @"x_auth_password:" : self.passwordField.text, 
     @"x_auth_mode:" : @"client_auth" 
    }; 

    [OAuthClient authenticateUsingOAuthWithPath:@"api/1/oauth/access_token" 
       parameters:parameters 
       success:^(AFOAuthCredential *credential) { 
        NSLog(@"I has token! %@", credential.accessToken); 
        // [AFOAuthCredential storeCredential:credential withIdentifier:OAuthClient.serviceProviderIdentifier]; 
       } 
       failure:^(NSError *error) { 
        NSLog(@"Sheet. %@", [error localizedDescription]); 
       }]; 
} 
+0

Не могли бы вы показать нам выход NSLog блока отказа, если это то, что работает? – charleyh

ответ

1

По Instapaper's API docs:

реализация OAuth Instapaper не отличается от того, что вы можете быть привыкли: нет запроса маркера/разрешить рабочий процесс. Это делает его намного проще. Вместо этого Instapaper использует реализацию xAuth, очень похожую на Twitter. Поэтому вам все равно нужно подписать ваши запросы, но получить жетоны просты.

xAuth - это единственный способ получить токен доступа Instapaper.

OAuth 2 отличается от OAuth 1, что само по себе отличается от xAuth.

AFOAuth2Client не будет работать здесь. Возможно, вам повезло с AFXAuthClient или AFOAuth1Client.

+0

Ах, спасибо mattt (я действительно ценю ваши проекты, кстати). Скорее раздражающий Марко решил выбрать «oauth» в схеме URL, если это xauth. Эта библиотека отлично работала. Спасибо. –