我需要使用 SLrequest 访问直接消息。我使用 twitter 的 Reverse oAuth 获得了 oAuthToken 和 oAuthToken Secret。现在我需要知道如何从 https://api.twitter.com/1.1/direct_messages.json 中获取直接消息网址。我尝试添加 oAuthToken 和 oAuthTokenSecret 部分 SLRequest 但我得到同样的错误,“不允许此应用程序访问或删除您的直接消息”。 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) {
// ...
}];
关于ios - 使用 SLRequest iOS 访问 Twitter 私信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17990484/