我想喜欢一个关于脸书的帖子的评论,我使用和喜欢帖子一样的。对于一个帖子来说,它是有效的,但是对于一个评论来说,它是无效的。
医生:https://developers.facebook.com/docs/graph-api/reference/object/likes
我的代码:
[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/likes", postId_]
parameters:nil
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{ //Error:
}];
错误是:
error Domain = com . Facebook . SDK Code = 5 "操作无法完成。(com.facebook.sdk错误5。)" UserInfo = 0x 158999 b 0 { com . Facebook . SDK:HTTPStatusCode = 400,com . Facebook . SDK:parsedjsonresponse key = { body = { error = { code = 100;message = "(#100)查找请求的故事时出错";type = OAuthException};};代码= 400;},com . Facebook . SDK:ErrorSessionKey = }
以下是我的做法,它非常有效
// post is my module object, encapsulates the info form the post
// pass the post ID
NSString *graphPath = [NSString stringWithFormat:@"%@/likes", post.postID];
FBRequest *request = [FBRequest requestForGraphPath:graphPath];
// DELETE or POST the like
NSString *method = post.liked?@"DELETE":@"POST";
[request setHTTPMethod:method];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
BOOL success = YES;
success = (error)?NO:YES;
if(success) {
}
}];
注意:确保您有发布权限
在我的项目中,我使用以下代码:
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:URL, @"object", nil];
if (FBSession.activeSession.isOpen) {
if (FBSession.activeSession.accessTokenData.accessToken) {
[FBRequestConnection startWithGraphPath:@"/me/og.likes"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"Just liked on Facebook!");
}];
} else NSLog(@"Cannot open FBSession");
}
没有打开或初始化FBSession的代码-我希望,这不是一个问题?
我认为,我们都可以信任Facebook,是吗?:)
转到 https://developers.facebook.com/docs/reference/opengraph/action-type/og.likes,选择“IOS SDK”选项卡并查看代码。