有很多相同的问题,但我也找不到解决办法。我决定发这个问题。我的应用程序通过Twitter登录用户,然后尝试获取用户信息,但总是得到错误。我用的是STTwitter。这是我的代码:
- (void)setOAuthToken:(NSString *)token oauthVerifier:(NSString *)verifier
{
__weak typeof (self)weakself = self;
self.twitterAPI = [STTwitterAPI twitterAPIWithOAuthConsumerKey:Twitter_API_KEY consumerSecret:Twitter_API_SECRET];
[self.twitterAPI postAccessTokenRequestWithPIN:verifier
successBlock:^(NSString *oauthToken, NSString *oauthTokenSecret, NSString *userID, NSString *screenName) {
[weakself.twitterAPI getUserInformationFor:screenName
successBlock:^(NSDictionary *user) {
///we have an account
NSLog(@"something");
} errorBlock:^(NSError *error) {
/// error
NSLog(@"error:%@", error);
}];
} errorBlock:^(NSError *error) {
///error
NSLog(@"Error:%@", error);
}];
}用户授权后,我可以得到token和oauth_verifier,然后可以传递到上面的函数。但我知道错误是:
Error:Error Domain=STHTTPRequest Code=401 "HTTP Status 401: Unauthorized" UserInfo=0x7f84c1531420 {NSLocalizedDescription=HTTP Status 401: Unauthorized}我还尝试使用以下代码:
self.twitterAPI = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:Twitter_API_KEY consumerSecret:Twitter_API_SECRET];
[self.twitterAPI verifyCredentialsWithSuccessBlock:^(NSString *username) {
NSLog(@"");
[self.twitterAPI getUserInformationFor:@"jac_ln" successBlock:^(NSDictionary *user) {
NSLog(@"");
} errorBlock:^(NSError *error) {
NSLog(@"EROR:%@", error);
}];
} errorBlock:^(NSError *error) {
NSLog(@"ERROR:%@", error);
}];但也不能从twitter.please获得用户信息帮助我。
发布于 2016-02-11 10:53:18
[App_Delegate.twitter getUserInformationFor:NS_Defaults objectForKey:kUserScreenName接续块:^(NSDictionary *user) ]{
[MBProgressHUD hideAllHUDsForView:self.view animated:YES];
NSLog(@"Uesr Info-- %@", user);
NSDictionary *dictUser = [[NSDictionary alloc]initWithObjects:@[[user objectForKey:@"name"],[user objectForKey:@"profile_image_url"]] forKeys:@[kUserName,kUserProfileImage]];
[NS_Defaults setObject:dictUser forKey:kUserInfo];
[NS_Defaults synchronize];
UIStoryboard *objStory = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
App_Delegate.mainVC =[objStory instantiateViewControllerWithIdentifier:@"MainVC"];
[self.navigationController pushViewController:App_Delegate.mainVC animated:YES];
[NS_Defaults setBool:YES forKey:@"isLogin"];
[NS_Defaults synchronize];
} errorBlock:^(NSError *error)
{
NSLog(@"Error-- %@", error);
}];发布于 2016-04-22 14:46:50
您需要设置一个回调URL,甚至一个简单的字符串。
https://stackoverflow.com/questions/27685401
复制相似问题