我无法在网上找到简单的答案。我知道Social.framework
非常适合减少事情,减少错误。但是,我尝试实施like
但失败了 - 我认为只能使用Social.framework
。现在我试图获取一些帖子图片并添加comment
,它也很复杂,我不确定是否可能。看来,通过opengraph所做的所有更复杂的事情都不可能与Social.framework
一起使用。
也许有办法将Social.framework
与FacebookSDK
混合,并通过第一个框架记录用户,并通过第二个用opengraph获取对象?
任何人都可以写这些行为是否可行?或者如何使用Social.framework
了解可能/不可能的内容?我主要考虑Facebook。
- 编辑 -
一个例子是:
NSURL *likeUrl = [NSURL URLWithString:@"https://graph.facebook.com/me/og.likes"];
NSURL *objectUrl = [NSURL URLWithString:@"object_with_tags_to_like"];
NSDictionary *parameters = @{ACFacebookAppIdKey: @"111",
@"object": objectUrl};
SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodPOST
URL:likeUrl
parameters:parameters];
facebookRequest.account = facebookAccount;
[facebookRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
// set a breakpoint here, we're getting in resp:
// "Www-Authenticate" = "OAuth \"Facebook Platform\" \"invalid_request\" \
// "The action you're trying to publish is invalid because it does not specify any reference objects.
// At least one of the following properties must be specified: object.\"";
}];
在这里我们可以看到传递对象并不容易。使用FacebookSDK,您只需:
NSMutableDictionary<FBGraphObject> *action = [FBGraphObject graphObject];
action[@"object"] = urlAddress;
[FBRequestConnection startForPostWithGraphPath:@"me/og.likes"
graphObject:action
completionHandler:nil];
但是在这里你不能创建FBGraphObject。使用什么呢?
答案 0 :(得分:1)
老实说,Facebook SDK退出功能强大且易于使用。它允许你在喜欢和评论方面提供更多功能,所以我建议你朝着这个方向前进。 SocialFramework是有限的,它主要用于发送快速帖子(使用他们的模板, - >没有自定义)和快速登录。
我已经成功地完成了您要求仅使用Facebook SDK的所有要求。