大家好,我一直在努力让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];
答案 0 :(得分:1)
答案 1 :(得分:0)
看起来委托失败的方法传递了请求实例。您应该查询它以找出它具有的值,以确保您已正确设置所有内容。 It has a flag that can be set to dump a debug string of the request.
解决这些问题的第一步是确保您提交给服务器的字符串是正确的。尝试通过浏览器提交它并确保它有效,因为尝试在代码中构建它。