2013-03-27 60 views
0

我試圖通過AFOAuth2Client library使用full Instapaper API,但我不斷收到錯誤代碼401.我不知道我的代碼有什麼問題。當我複製並粘貼電子郵件時,我肯定沒有正確的ID和祕密。當使用Instapaper API時,爲什麼我不斷收到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 2013-05-26 14:57:07

回答

1

根據Instapaper's API docs

的Instapaper的OAuth實現從你可能習慣於不同:沒有請求令牌/授權流程。這使得它更簡單。相反,Instapaper使用與Twitter類似的xAuth實現。所以你仍然需要簽署你的請求,但獲得令牌很簡單。

xAuth是獲得Instapaper訪問令牌的唯一方法。

OAuth 2與OAuth 1不同,OAuth 1本身與xAuth不同。

AFOAuth2Client不會在這裏工作。你可能有運氣AFXAuthClientAFOAuth1Client

+0

啊,謝謝mattt(我真的很感謝你的項目)。相當惱人的是,Marco決定在URL方案中選擇'oauth',如果它是xauth的話。該圖書館工作完美。謝謝。 – 2013-05-26 22:33:34

相關問題