1

这是一个奇怪的...

在这里的人们的帮助下,我成功地将我的 iPhone 应用程序发布到了 TwitPic - 当我第一次让它工作时,我也可以看到一个 XML 结果被返回......

但由于过去两天的某种原因,API 调用似乎成功了——图片出现在 TwitPic 上——但是......响应似乎是空的......

有人有想法么?见过类似的吗?我用来调用 API 的代码是:

    ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

[request setData:twitpicImage forKey:@"media"];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];

// Initiate the WebService request
[request start];

// Need to find out how I can access the result from this call...

/* Result structure should be:

 <?xml version="1.0" encoding="UTF-8"?>
    <rsp stat="ok">
        <mediaid>abc123</mediaid>
        <mediaurl>http://twitpic.com/abc123</mediaurl>
    </rsp>
*/

// Check for errors
if ([[request responseHeaders] objectForKey:@"stat"] != @"ok"){
    UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"TwitPic Submission" 
                                                    message:[[request responseHeaders] objectForKey:@"mediaurl"]
                                                   delegate:nil
                                          cancelButtonTitle:@"OK!" 
                                          otherButtonTitles:nil];
    [errorAlert show]; 
    [errorAlert release];
}

NSString *twitpicURL = [[request responseHeaders] objectForKey:@"mediaurl"];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"TwitPic Submission" 
                                      message:twitpicURL
                                      delegate:nil
                                      cancelButtonTitle:@"OK!" 
                                      otherButtonTitles:nil];

我试着只是转储出 [request responseString] ......现在也是空的。那是肯定的。

与往常一样,任何帮助都感激不尽。有能力我会回馈!

干杯,

杰米。

4

2 回答 2

2

好的,问题解决了:-)

看看这个网站:链接文本

只需将这些行添加到您的请求中:

[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];

以及以下方法:

- (void)requestDone:(ASIHTTPRequest *)request { NSString *response = [request responseString];}
- (void)requestWentWrong:(ASIHTTPRequest *)request { NSError *error = [request error];}

NSString *response 包含来自 twitpic 的所有重要反馈。

享受 :-)

于 2009-09-13T03:22:14.500 回答
0

啊!我想我找到了问题所在。似乎是 TwitPic 的问题 - 2 天前,我将密码更改为包含数字和字母的混合大小写密码。我只是将其重置为全小写字母,然后……一切正常。

我已经向 twitpic 支持发送了一条消息 - 希望他们会关注它!

杰米。

于 2009-04-17T23:05:50.787 回答