1

特定のTwitterアカウントのすべてのツイートを取得したいだけです。以下のURLを使用したいのですが、ツイートを取得したいTwitterアカウントのuser_idまたはscreen_nameを取得する方法がわかりません。

リソースURLhttp: //api.twitter.com/1/statuses/user_timeline.formatパラメーターユーザーのタイムラインをリクエストするときは、常にuser_idまたはscreen_nameのいずれかを指定してください。

誰かがアイデアやソースコードやリファレンスを持っていますか?どんな助けでも非常に高く評価されます。

次の関数を使用して200のツイートを取得していますが、NSLogに表示されます

HTTP応答ステータス:403メッセージ

働き

- (IBAction)followOnTwitter:(id)sender
{
    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    [accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
        if(granted) {
            // Get the list of Twitter accounts.
            NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];

            // For the sake of brevity, we'll assume there is only one Twitter account present.
            // You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present.
            if ([accountsArray count] > 0) {
                // Grab the initial Twitter account to tweet from.
                ACAccount *twitterAccount = [accountsArray objectAtIndex:0];

                NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init];
                [tempDict setValue:@"rohit40793982" forKey:@"screen_name"];
                //[tempDict setValue:@"true" forKey:@"follow"];
               // [tempDict setValue:@"683286" forKey:@"user_id "];

                TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"http://api.twitter.com/1/statuses/user_timeline.format"] 
                                                             parameters:tempDict 
                                                          requestMethod:TWRequestMethodPOST];


                [postRequest setAccount:twitterAccount];

                [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                    NSLog(@"%@",urlResponse);
                    tweets = [NSJSONSerialization JSONObjectWithData:responseData
                                                            options:kNilOptions 
                                                              error:&error];
                    NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
                    NSLog(@"%@", output);
                    [self performSelectorOnMainThread:@selector(displayText:) withObject:output waitUntilDone:NO];

                }];
            }
        }
    }];
}

すべてのツイートの配列を受け取っていません。

4

2 に答える 2

3

あなたの間違いは、私が思うに、この行にあります

http://api.twitter.com/1/statuses/user_timeline.format

「.format」は、応答が必要な形式です。たとえば、XMLが必要な場合は、

https://api.twitter.com/1/statuses/user_timeline.xml

またはJSONの場合は、

https://api.twitter.com/1/statuses/user_timeline.json

また、screen_nameをクエリとして追加する必要があります。たとえば、すべてのツイートをJSONとして取得するには、

https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=edent
于 2012-05-15T12:07:11.570 に答える
1

screen_nameは基本的に、アカウント名です。'@'の直後の名前です。WOWのscreen_nameは@Warcraftのようです。

ああ、実際には.formatが問題でした。3:atom、json、またはxmlのいずれかを指定する必要があります。(ユーザーのタイムラインを取得しても、xmlを返すことはできないと思います。APIを読んでください)

私はJavaプログラマーなので、これ以上は仕方がないのではないかと思います:/

于 2012-05-15T11:10:19.863 に答える