0

大家好,我一直在努力让 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];
4

2 回答 2

1

使用http://github.com/Gurpartap/GSTwitPicEngine

于 2011-05-06T12:37:05.013 回答
0

看起来委托失败的方法传递了请求实例。您应该查询它以找出它必须确保您已正确设置所有内容的值。它有一个标志,可以设置为转储请求的调试字符串。

解决此类问题的第一步是确保您提交给服务器的字符串是正确的。尝试通过浏览器提交它并确保它可以工作,因为尝试在代码中构建它。

于 2010-06-29T04:30:12.713 回答