Почему при использовании Instapaper API постоянно появляются ошибки 401?

Я пытаюсь использовать полный API Instapaper через библиотеку AFOAuth2Client, но получаю код ошибки 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]);
                 }];
}

1 ответ

Решение

Согласно документам API Instapaper:

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

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

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

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

Другие вопросы по тегам