401 Unauthorized use of oauth with Twitter on iPhone

I am using Twitter-OAuth-iPhone .

When I try to twitter with SA_OAuthTwitterEngine, I got error 401 I received a delegate invitation:

- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {

but when I try to send a tweet right away:

[_engine sendUpdate: [NSString stringWithFormat:@"Hello World"]];

I got error 401:

failed with error: Error Domain=HTTP Code=401 "Operation could not be completed. (HTTP error 401.)"

I check my twitter setting:

Type:                    Client
Default Access type:     Read & Write
+3
source share
4 answers

You must request xAuth access to api@twitter.com.

+2
source

HTTP 401 "" . API Twitter , kOAuthConsumerSecret kOAuthConsumerKey. , Twitter "", "".

+1

: :

, Matt Gemmell , , , , . , , .

, , , , , .

, , , subview, , . , . , , . , , , , , .

-(IBAction)shareTwit:(id)sender { //This shows the tweet view and authorises the user and engine
    tweetView.hidden = NO;

    if (!_engine) {
        _engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
        _engine.consumerKey    = kOAuthConsumerKey;
        _engine.consumerSecret = kOAuthConsumerSecret;
    }

    if (![_engine isAuthorized]) {
        UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self];

        if (controller) {
            [self presentModalViewController: controller animated: YES];
        }
        else {
            [_engine sendUpdate: [NSString stringWithFormat: @"Already Updated. %@", [NSDate date]]];
        }
    }
}

-(IBAction)updateTwitter:(id)sender { //This button sends the tweet to Twitter.
    if ([_engine isAuthorized]) {
        [_engine sendUpdate:tweetTextField.text];

        [tweetTextField resignFirstResponder];

        confirmation.text = @"Tweet sent successfully."; //This is an optional UILabel, if you would like the user to know if the tweet has been sent
                                                    // Currently, I haven't created a method where the user is told the sending failed.
    }
    else {
        UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self];

        if (controller) {
            [self presentModalViewController: controller animated: YES];
        }
        else {  
            [_engine sendUpdate: [NSString stringWithFormat: @"Already Updated. %@", [NSDate date]]];   
        }   
    }       
}

. viewDidLoad, , . , shareTwit, . . , !

+1

Callback URL Twitter.

It must be identical: $request_token = $connection->getRequestToken(OAUTH_CALLBACK);

0
source

Source: https://habr.com/ru/post/1746391/


All Articles