Не можете опубликовать данные в твиттере из моего приложения? - PullRequest
0 голосов
/ 19 января 2012

Мое приложение может публиковать данные (изображение и текст) в твиттер месяц назад. Но теперь он не может публиковать данные в твиттере. Почему пожалуйста? Следуйте

Ошибка: [Стоп! Токен запроса для этой страницы недействителен. Это может уже использовались или просрочены, потому что это слишком старое. Пожалуйста иди вернитесь на сайт или в приложение, которое отправило вас сюда, и повторите попытку; Это было, вероятно, просто ошибкой]

С этим сообщением я не могу подтвердить: 1. уже был использован: когда это ошибка? 2. истек, потому что он слишком старый: твиттер истек для токена? как заново открыть просроченный? => Какое решение для этой ошибки? Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 января 2012

Возможно, ошибка в том, что срок действия вашего токена запроса истек.Вам необходимо восстановить свой токен доступа.

Перейдите на https://dev.twitter.com/ и нажмите на воссоздать токен доступа.

0 голосов
/ 19 января 2012

Если вы работаете на ios 5, то следующий код будет полезен, так как я отправляю изображение и текст с помощью этого кода.

прежде всего добавьте фреймворк "twitter.framework"

NSString *var = txtTwitter.text;
    NSString *str = [[NSUserDefaults standardUserDefaults]valueForKey:@"INDEX"];


    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    // Create an account type that ensures Twitter accounts are retrieved.
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

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


            if ([accountsArray count] > 0) {

                ACAccount *twitterAccount = [accountsArray objectAtIndex:0];

                TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"] parameters:nil requestMethod:TWRequestMethodPOST];

                //add text
                [postRequest addMultiPartData:[var dataUsingEncoding:NSUTF8StringEncoding] withName:@"status" type:@"multipart/form-data"];

                UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"00%@.jpg",str]];

                //add image
                [postRequest addMultiPartData:UIImagePNGRepresentation(image) withName:@"media" type:@"multipart/form-data"];

                // Set the account used to post the tweet.
                [postRequest setAccount:twitterAccount];

                [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                    NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
                    NSLog(@"Twitter msg %@",output);
                    //                        [self performSelectorOnMainThread:@selector(displayText:) withObject:output waitUntilDone:NO];
                }];
            }
        }
    }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...