OAuth Echo TwitPic - Работа с клиентом Twitter на iPhone - PullRequest
0 голосов
/ 22 июня 2010

Привет всем, я пытался заставить Twitpic успешно загружать изображения через мое приложение для iPhone. В прошлом это работало нормально, но теперь они изменили весь свой код авторизации.

Это то, что у меня есть, и по какой-то причине просто дает мне ошибку:

oAuth = [[OAuth alloc] initWithConsumerKey:twitter_consumer_key andConsumerSecret:twitter_consumer_secret];

    NSString *fakeurl = @"https://api.twitter.com/1/account/verify_credentials.json";
    NSString *oauth_header = [oAuth oAuthHeaderForMethod:@"GET" andUrl:fakeurl andParams:nil];
    NSLog(@"OAuth header : %@\n\n", oauth_header);

    NSString *url = @"http://api.twitpic.com/2/upload.json";

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
    request.delegate = self;
    [request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"];
    request.requestMethod = @"GET";

    [request addRequestHeader:@"X-Verify-Credentials-Authorization" value:oauth_header];    
    [request addRequestHeader:@"X-Auth-Service-Provider" value:@"https://api.twitter.com/1/account/verify_credentials.json"];   

    if (_imageData) {
        NSLog(@"Pic not nil");
    }

    [request setData:_imageData forKey:@"media"];
    [request setPostValue:@""  forKey:@"message"];  
    [request setPostValue:twitpic_api_key  forKey:@"key"];  

    [request setDelegate:self];
    [request setDidFinishSelector:@selector(requestDone:)];
    [request setDidFailSelector:@selector(requestFailed:)];

    [request start];

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Использование http://github.com/Gurpartap/GSTwitPicEngine.

0 голосов
/ 29 июня 2010

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

Первый шаг в устранении проблем такого рода - убедиться, что строка, которую вы отправляетесервер правильный.Попробуйте отправить его через браузер и убедитесь, что он работает, потому что пытаетесь создать его в коде.

...