ios - Social.framework Facebook 的可能性

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

我在网上找不到简单的答案。我知道 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。用什么来代替?

最佳答案

老实说,Facebook SDK 非常强大且易于使用。它在点赞和评论方面为您提供了更多功能,因此我建议您朝这个方向努力。 SocialFramework 是有限的,它主要用于发送快速帖子(使用他们的模板,-> 无自定义)和快速登录。

我仅使用 Facebook SDK 就成功完成了您要求的所有工作。

关于ios - Social.framework Facebook 的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22629924/

相关文章:

iphone - 以编程方式设置引用 socket

iOS GoogleMaps SDK 错误 : "[__NSCFDictionary objectForKeyedSubscript:]: Unrecognized selector sent"

objective-c - 在 iOS 中的选项卡之间传递数据

objective-c - 在 UITextField 中单击时更改 iOS 应用程序中的键盘语言

objective-c - iPad - 我应该如何分发离线 Web 内容以供应用程序中的 UIWebView 使用?

Objective-C 前向声明与模型层次结构中的#import

objective-c - 从枚举派生字符串的方法

iphone - 这是使用 iOS Facebook SDK 将图像发布到用户墙上时的预期行为吗?

javascript - 从我的应用程序中打开/关闭或取消授权用户,并从应用程序中列出用户的操作

javascript - 从 jsfiddle 测试 Facebook 身份验证