代码之家  ›  专栏  ›  技术社区  ›  Domness

oauth echo twitpic_

  •  0
  • Domness  · 技术社区  · 16 年前

    大家好,我一直在努力让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 回复  |  直到 15 年前
        1
  •  1
  •   Gurpartap Singh    15 年前
        2
  •  0
  •   TechZen    16 年前

    看起来委托失败的方法已传递给请求实例。您应该查询它以找出它所具有的值,以确保您已正确设置了所有内容。 It has a flag that can be set to dump a debug string of the request.

    解决这些问题的第一步是确保提交给服务器的字符串是正确的。尝试通过浏览器提交它,并确保它能正常工作,因为尝试用代码构造它。