4

SLrequest を使用してダイレクト メッセージにアクセスする必要があります。twitter の逆 oAuth を使用して、oAuthToken と oAuthToken Secret を取得しました。ここで、 https: //api.twitter.com/1.1/direct_messages.json URLからダイレクト メッセージを取得する方法を知る必要があります。SLRequest の oAuthToken および oAuthTokenSecret 部分を追加しようとしましたが、「このアプリケーションはダイレクト メッセージへのアクセスまたは削除を許可されていません」という同じエラーが表示されます。oAuthToken と oAuthTokenSecret の用途は何ですか? アプリでダイレクト メッセージを機能させるにはどうすればよいですか? アプリケーションのアクセス レベルを「読み取り、書き込み、およびダイレクト メッセージ」に変更しました。問題を解決するのを手伝ってください。

4

2 に答える 2

6

iOS のデフォルト Twitter アカウントのダイレクト メッセージにアクセスする方法は次のとおりです。

この例では、フェーズ 2 に SLRequest を内部的に使用し、フェーズ 1 にカスタム作成されたリクエストを使用するSTTwitterライブラリを使用します。

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) {
    // ...
}];
于 2013-09-12T09:27:41.033 に答える