使用ASIHTTPRequest使用FacebookGraph API发布流?

时间:2010-09-06 13:22:10

标签: iphone objective-c facebook asihttprequest

有人可以向我解释如何创建一个可以使用Graph API将流发布到Facebook的ASIHTTPRequest对象吗?

API调用是:https://graph.facebook.com/me/feed?message=X&access_token=Y 方法类型是POST

1 个答案:

答案 0 :(得分:3)

我从未直接发布到Facebook Graph api(虽然我已经使用他们的API来提取UIWebView对话框并为您处理实际的发布业务)。不过,我已经使用了ASIHTTPRequest。

NSString *reqStr = [NSString stringWithFormat:@"https://graph.facebook.com/me/feed?message=%@&access_token=%@", messageString, accessTokenString];
ASIHTTPRequest *req = [ASIHTTPRequest requestWithUrl:[NSURL urlWithString:reqStr]];
req.delegate = self;
req.userInfo = [NSDictionary dictionaryWithObject:@"graphRequest" forKey:@"type"];
req.requestMethod = @"POST";
[req startAsynchronous];

夫妻俩。我演示了.userInfo字段的用法,因为它非常有用。该属性采用包含您要包含的任何对象的任何NSDictionary,稍后您可以使用-request: didFinish方法访问它们。例如,您可以将指向要加载的UIImage的UIImageView图像传递给它。更常见的是,根据我的经验,如果在同一个viewController中有多个请求发生,你只需为该字典中的@"type"键设置一个不同的对象,你就可以轻松地将它们区分开来后面。

其次,您可能会问,“我必须做一些特别的事情,因为它是https吗?”根据我的经验,你完全没有,ASIHTTPRequest足够聪明,可以处理幕后的所有事情。

如果您需要构建帖子字段,而不是仅仅在查询字符串上发送数据,则使用ASIFormPostData对象而不是ASIHTTPRequest,但它的行为大致相同。

编辑,几年后:ASIHttpRequest现在被其开发人员弃用,他建议转移到当前开发中的不同软件包。人们似乎喜欢AFNetworking。