使用SLRequest iOS访问Twitter直接消息

我需要使用SLrequest访问直接消息。 我使用twitter的Reverse oAuth获得了oAuthToken和oAuthToken秘密。 现在我需要知道如何从https://api.twitter.com/1.1/direct_messages.json url中获取直接消息。 我曾尝试添加SLRequest的oAuthToken和oAuthTokenSecret部分,但是我得到了同样的错误,“此应用程序不允许访问或删除您的直接消息”。 oAuthToken和oAuthTokenSecret有什么用处? 如何使应用程序的直接消息工作? 我已将应用程序的访问级别更改为“读取,写入和指导消息”。 请帮我解决这个问题。

以下是如何访问iOS默认Twitter帐户的直接消息。

此示例使用STTwitter库,该库在内部为阶段2使用SLRequest,为阶段1自定义制作的请求。

NSString *CONSUMER_KEY = @""; NSString *CONSUMER_SECRET = @""; STTwitterAPI *twitter = [STTwitterAPI twitterAPIWithOAuthConsumerName:nil consumerKey:CONSUMER_KEY consumerSecret:CONSUMER_SECRET]; [twitter postReverseOAuthTokenRequest:^(NSString *authenticationHeader) { STTwitterAPI *twitterAPIOS = [STTwitterAPI twitterAPIOSWithFirstAccount]; [twitterAPIOS verifyCredentialsWithSuccessBlock:^(NSString *username) { [twitterAPIOS postReverseAuthAccessTokenWithAuthenticationHeader:authenticationHeader successBlock:^(NSString *oAuthToken, NSString *oAuthTokenSecret, NSString *userID, NSString *screenName) { STTwitterAPI *x = [STTwitterAPI twitterAPIWithOAuthConsumerName:nil consumerKey:CONSUMER_KEY consumerSecret:CONSUMER_SECRET oauthToken:oAuthToken oauthTokenSecret:oAuthTokenSecret]; [x verifyCredentialsWithSuccessBlock:^(NSString *username) { [x getDirectMessagesSinceID:nil count:10 successBlock:^(NSArray *messages) { // ... } errorBlock:^(NSError *error) { // ... }]; } errorBlock:^(NSError *error) { // ... }]; } errorBlock:^(NSError *error) { // ... }]; } errorBlock:^(NSError *error) { // ... }]; } errorBlock:^(NSError *error) { // ... }]; 

你不能使用反向validation。 反向身份validation基本上允许您以与根iOS应用程序相同的访问级别访问OAuth令牌,因此您可以在远程服务器上执行Twitter处理。 它不使用来自开发者门户的twitter应用程序的扩展权限。 正如在Twitter网站上所logging的,您必须使用完整的OAuth身份validationstream程(包括networkingpopup窗口)才能获得用户明确的访问直接消息的权限。