我在网上找不到简单的答案。我知道 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。用什么来代替?
最佳答案
老实说,Facebook SDK 非常强大且易于使用。它在点赞和评论方面为您提供了更多功能,因此我建议您朝这个方向努力。 SocialFramework 是有限的,它主要用于发送快速帖子(使用他们的模板,-> 无自定义)和快速登录。
我仅使用 Facebook SDK 就成功完成了您要求的所有工作。
关于ios - Social.framework Facebook 的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22629924/