ios - 使用 SLRequest iOS 访问 Twitter 私信

标签 ios twitter slrequest

我需要使用 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/

相关文章:

objective-c - 如何使用 iOS 5 中的 Twitter 框架获取用户的 Twitter 个人资料信息?

带有 SLRequest 的 iOS 转发返回错误的 URL 错误

ios - NSOperationQueue 批处理 SLRequests

ios - 如何在uicollectionview中的两个单元格之间画线

ios - 是否可以检索网站源代码以在 iPhone 应用程序中进行解析?

ios - 仅更改默认 backBarButtonItem 的位置

ios - 如何将导航栏或其他东西放在 XLPagerTabStrip 上方

javascript - 除了使用自定义 CSS 和 html 之外,还有其他方法可以显示从 API 获取的推文吗?

iphone - iOS 发布超链接

ios - 使用 SLRequest 将 URL 附加到 Facebook 帖子?