来自 iPhone 的 Twitpic API - 已发布图片但未返回 URL?

问题描述 投票:0回答:2

这是一个奇怪的...

在这里人们的帮助下,我的 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]
...现在也空了。当然,这正在显示回应。

一如既往,我们非常感谢您提供的任何帮助。一旦有能力我就会回馈!

干杯,

ios web-services twitter
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 的所有重要反馈。

享受:-)


0
投票

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

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

杰米。

© www.soinside.com 2019 - 2024. All rights reserved.