我正在尝试下载用户墙帖。我收到帖子的FB帐户总是会被公开,所以我认为没有必要登录。我似乎无法在FBConnect iOS SDK上找到任何文档,所以我希望这里有人可以帮助我。
最新的SDK正在使用
- (void)requestWithGraphPath:(NSString *)graphPath
andParams:(NSMutableDictionary *)params
andDelegate:(id <FBRequestDelegate>)delegate;
从用户图表中获取数据。问题是我不知道可接受的参数是什么或graphPath是什么。我认为图形路径只是www.facebook.com之后的名称,但我不确定。
我想做的是在公共艺术家页面上发布最近20个墙帖。
提前致谢!
哦,如果你知道一个很好的地方可以获得一些非常棒的FBConnect iOS文档。我知道git hub下载页面上有一点点但我希望看到更完整的东西。
更新
我找到了一些不错的文档。 http://developers.facebook.com/docs/reference/api/ 我还发现,如果您只想要发布页面的所有者,请指定/ userID / posts而不是/ userID / feed。
答案 0 :(得分:2)
[NSDictionary dictionary]
会很好。 该协议定义了两种方法:
- (void)request:(FBRequest*)request didLoad:(id)result
- (void)request:(FBRequest*)request didFailWithError:(NSError*)error
非常简单:结果是数组或字典,具体取决于您的请求,Feed通常是发布的NSArray。
查看GraphApi文档了解有关graphPath的更多信息。
答案 1 :(得分:0)
我建议你不要使用FBConnect
。只需启动NSURLConnection
(可能在您的viewDidLoad
函数中)并在connectionDidFinishLoading
函数中解析Facebook JSON Feed:
- (void)viewDidLoad {
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString: [NSString stringWithFormat:@"%@%@/feed", @"http://graph.facebook.com/", @"cocacola"]]];
[NSURLConnection connectionWithRequest:request delegate:self];
}
- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
[responseData setLength:0];
}
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data {
[responseData appendData:data];
}
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error {
NSLog(@"Connection failed: %@", [error description]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSString *json = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSDictionary *dictionary = [parser objectWithString:json];
NSMutableArray *arr = [dictionary mutableArrayValueForKey:@"data"];
int len = [arr count];
for(int i = 0; i < len; ++i) {
NSDictionary *d = [arr objectAtIndex:i];
[list addObject:d];
}
[json release];
[parser release];
}
其中list
是NSMutableArray
,SBJsonParser
已导入(json-framework for objective-c,请参阅http://json.org),responseData
是{{ 1}}
之后,访问NSMutableData
以显示墙贴:
list
如果您想获取用户的个人资料图标,请使用以下命令:
NSString *message= [[list objectAtIndex:0] objectForKey:@"message"];
其中self.profileImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@/picture", @"http://graph.facebook.com/", @"cocacola"]]]];
是profileImage
个对象。
请务必使用相应的用户ID
替换UIImage