Przez wiele dni przelewałem się przez internet, próbując dowiedzieć się, jak to zaimplementować.iOS Twitter Reverse OAuth
Muszę zażądać tokenu dostępu i tajnego klucza ze strony Twitter, aby przekazać go serwerowi, który przetworzy tweety użytkowników dla mojej aplikacji.
śledzę ten link https://dev.twitter.com/docs/ios/using-reverse-auth
Problemem jest to krok 1. Oni nie podam przykład z kroku 1.
Oto mój kod:
NSURL *url = [NSURL URLWithString:TW_OAUTH_URL_REQUEST_TOKEN];
NSDictionary *parameters = @{TW_X_AUTH_MODE_KEY:TW_X_AUTH_MODE_REVERSE_AUTH};
SLRequest *getTwitterAuth = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:url parameters:parameters];
// Assume that we stored the result of Step 1 into a var 'resultOfStep1'
NSString *S = resultOfStep1;
NSDictionary *step2Params = [[NSMutableDictionary alloc] init];
[step2Params setValue:@"kfLxMJsk7fqIuy8URhleFg" forKey:@"x_reverse_auth_target"];
[step2Params setValue:S forKey:@"x_reverse_auth_parameters"];
NSURL *url2 = [NSURL URLWithString:@"https://api.twitter.com/oauth/access_token"];
SLRequest *stepTwoRequest =
[SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:url2 parameters:step2Params];
// You *MUST* keep the ACAccountStore alive for as long as you need an ACAccount instance
// See WWDC 2011 Session 124 for more info.
self.accountStore = [[ACAccountStore alloc] init];
// We only want to receive Twitter accounts
ACAccountType *twitterType =
[self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
// Obtain the user's permission to access the store
[self.accountStore requestAccessToAccountsWithType:twitterType
withCompletionHandler:^(BOOL granted, NSError *error) {
if (!granted) {
// handle this scenario gracefully
} else {
// obtain all the local account instances
NSArray *accounts =
[self.accountStore accountsWithAccountType:twitterType];
// for simplicity, we will choose the first account returned - in your app,
// you should ensure that the user chooses the correct Twitter account
// to use with your application. DO NOT FORGET THIS STEP.
[stepTwoRequest setAccount:[accounts objectAtIndex:0]];
// execute the request
[stepTwoRequest performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *responseStr =
[[NSString alloc] initWithData:responseData
encoding:NSUTF8StringEncoding];
// see below for an example response
NSLog(@"The user's info for your server:\n%@", responseStr);
}];
}
}];
byłem próbuje dowiedzieć się, jak przetworzyć SLRequest w oder, aby przejść do kroku 2 z dokumentacji twitter.
Mam również używane to tutaj: https://github.com/seancook/TWReverseAuthExample
Kod ten jest wielki, ale bardzo skomplikowane. Każda pomoc będzie bardzo ceniona! Dzięki!
jej nie działa, chociaż dzieje się, jeśli blok ale o wartości poświadczeń = " Xml version" = "\" 1.0 \ "kodowanie = \" UTF-8 \ "?> \ n \ n Odwrotne poświadczenia uwierzytelniające są nieprawidłowe \ n \ n"; –
Abhishek
Nie działa też dla mnie, ten sam błąd –