Social.framework Facebook的可能性

时间:2014-03-25 09:13:41

标签: ios objective-c facebook facebook-graph-api social

我无法在网上找到简单的答案。我知道Social.framework非常适合减少事情,减少错误。但是,我尝试实施like但失败了 - 我认为只能使用Social.framework。现在我试图获取一些帖子图片并添加comment,它也很复杂,我不确定是否可能。看来,通过opengraph所做的所有更复杂的事情都不可能与Social.framework一起使用。

也许有办法将Social.frameworkFacebookSDK混合,并通过第一个框架记录用户,并通过第二个用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。使用什么呢?

1 个答案:

答案 0 :(得分:1)

老实说,Facebook SDK退出功能强大且易于使用。它允许你在喜欢和评论方面提供更多功能,所以我建议你朝着这个方向前进。 SocialFramework是有限的,它主要用于发送快速帖子(使用他们的模板, - >没有自定义)和快速登录。

我已经成功地完成了您要求仅使用Facebook SDK的所有要求。