【发布时间】:2014-06-05 18:08:41
【问题描述】:
在 Facebook 中,您可以发布内容并与 一些 朋友分享。 如何使用 Facebook SDK 在 iOS 上以编程方式完成此操作?
我的应用程序有一个“紧急按钮”,用于发送: a) 地图上的用户位置(图片); b) 紧急文本(消息); c) 该帖子仅与用户在配置中选择的朋友共享。部分(隐私)。
- (void)sendMessage {
//Just an Example: Send an Emergency Post with: message, picture, just to SOME friends.
//This action may not need the User to actually press a button.
//Privacy parameter obtained from:
//https://developers.facebook.com/docs/graph-api/reference/v2.0/post/
NSMutableDictionary *privacy = [[NSMutableDictionary alloc]initWithObjectsAndKeys:
@"100000278095294,100000278095528", @"allow", //Friends Id separeted with commas.
@"", @"deny",
@"CUSTOM", @"value", //Privacy Custom Value
nil];
NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
[params setObject:self.emergencyText forKey:@"message"];
[params setObject:self.locationMap forKey:@"picture"];
[params setObject:privacy forKey:@"privacy"];
[FBRequestConnection startWithGraphPath:@"me/feed"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (error) {
NSLog(@"Error");
NSLog(@"Error descriptcion %@",error.description);
}else{
NSLog(@"Success");
}
}];
}
此代码未运行。我从 Facebook 收到错误消息。 如果我评论这一行:
// [params setObject:privacy forKey:@"privacy"];
然后它运行良好,我在 FB 中看到该帖子,但它是一个 公开 帖子。
我需要发布:消息、图片,只是给一些朋友。
欢迎使用startWithGraphPath 或使用任何其他命令的任何解决方案!
【问题讨论】:
-
根据developers.facebook.com/docs/graph-api/reference/v2.0/user/feedprivacy应该只有3个键值,允许和拒绝。你好像还有很多人。当你应该使用文档来写作时,你正在使用文档来阅读
-
我从官方 Facebook 文档中获取这些参数:developers.facebook.com/docs/graph-api/reference/v2.0/post 我将尝试您的提要解决方案而不是帖子。会让你知道的。
-
我按照您的建议进行了更改,仅使用:允许、拒绝、值。但仍然无法正常工作。如果我注释行 // [params setObject:privacy forKey:@"privacy"];它工作正常,评论在那里,但每个人都可以看到它。如何为 2 或 3 个朋友设置隐私?
-
你的代码现在是什么样子的?
-
我已经更改了原始问题中的代码,因此它反映了我现在使用的参数,它们只是:允许、拒绝、值。还是行不通。如果我注释行 //// [params setObject:privacy forKey:@"privacy"];它工作正常,但每个人都可以看到该帖子。如果我取消注释该行,我会收到错误消息:*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSDictionaryM 长度]:无法识别的选择器已发送到实例 0x170249120”如何仅为 2 或 3 个朋友设置隐私?
标签: ios facebook facebook-graph-api