我正在使用 STTwitter 演示应用程序在授权后从演示应用程序将推文和图像发布到我的 Twitter 帐户。我正在尝试以下:
- (void)setOAuthToken:(NSString *)token oauthVerifier:(NSString *)verifier {
[_twitter postAccessTokenRequestWithPIN:verifier successBlock:^(NSString *oauthToken, NSString *oauthTokenSecret, NSString *userID, NSString *screenName) {
_loginStatusLabel.text = [NSString stringWithFormat:@"%@ (%@) %@," , screenName];
STTwitterAPI *twitter = [STTwitterAPI twitterAPIWithOAuthConsumerKey:_consumerKeyTextField.text consumerSecret:_consumerSecretTextField.text oauthToken:_twitter.oauthAccessToken oauthTokenSecret:_twitter.oauthAccessTokenSecret];
[twitter verifyCredentialsWithUserSuccessBlock:^(NSString *username, NSString *userID){
[self.twitter postStatusesUpdate:@"test" inReplyToStatusID:nil latitude:nil longitude:nil placeID:nil displayCoordinates:nil trimUser:nil autoPopulateReplyMetadata:nil excludeReplyUserIDsStrings:nil attachmentURLString:nil useExtendedTweetMode:nil successBlock: ^(NSDictionary *status) {
NSLog(@"twitter post success");
}
errorBlock:^(NSError *error) {
NSLog(@"twitter post failed %@",error.localizedDescription);
}];
}
} errorBlock:^(NSError *error) {
_loginStatusLabel.text = [error localizedDescription];
NSLog(@"-- %@", [error localizedDescription]);
}];
}
即使是带有 postStatusesUpdate 方法的简单推文也不会发布到我的推特帐户。它总是进入失败块(推特发布失败)。上述方法是从 appdelegate 调用的。
编辑:我使用 SLRequest 在 Twitter 中成功发布了内容,但如果未登录 Twitter 本机应用程序,则无法使用我的应用程序再次登录 Twitter。上面的代码适用于对 twitter 的授权但不发布内容,SLRequest 适用于发布内容但不授权。知道吗?