我的应用程序在Feed Dialog的帮助下发布到Facebook,但不幸的是我的帖子的公众观众只有我。当我试图在发布参数中设置隐私密钥以供朋友查看时:
NSMutableDictionary *params =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"my app_id", @"app_id",
@"my app name", @"name",
@"some text.", @"caption",
@"some more text.", @"description",
@"web site link", @"link",
@"some picture link", @"picture",
@"ALL_FRIENDS", @"privacy",
nil];
因此,当我添加@“ALL_FRIENDS”,@“privacy”时,我在尝试发布时在Dialog窗口中收到错误:Error100(我使用的隐私参数不正确)。 所以我的问题是如何更改此参数或如何让用户更改它的Feed对话窗口(我使用的是3.5 facebook SDK)。 提前谢谢!
答案 0 :(得分:0)
我不确定您是否能够覆盖用户在其隐私设置中设置的Only Me设置。通常,要通过对话框错误,您可以尝试:
@"{'value': 'ALL_FRIENDS'}", @"privacy",
我知道当我将隐私级别设置为低于用户指定为其上限的内容时,此设置适用于Graph API帖子(例如:me / feed)。因此,如果他们的上限是Only Me,那么帖子将显示为Only Me。如果他们的天花板是朋友,我将隐私设置为SELF,那么我会收到一封只有我的帖子。
您可以考虑使用新的共享对话框(在3.5.2中)。它允许用户选择他们的隐私。 “订阅源”对话框窗口没有隐私选择器。
有关不同分享选项的比较,请参阅https://developers.facebook.com/docs/howtos/share-dialogs-ios-sdk/
答案 1 :(得分:0)
好的,我为解决这个问题做了什么:
1.当我的应用程序启动时,我正在关闭任何活动的会话:
FBSession* currentSession = [FBSession activeSession];
if(currentSession) {
[currentSession close];
}
2.与朋友建立新的联系默认受众
[FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if (!error && status == FBSessionStateOpen) {
[self publishWithWebDialog];
}else{
NSLog(@"error");
}
}];
3.使用Feed对话框发布的呼叫方法:
[self publishWithWebDialog];
有趣的部分在应用程序第二次启动时启动:)没有必要按下所有OK按钮和应用程序刚刚打开Feed对话框,顺便说一下这种方法还修复了从用户删除Facebook中的应用程序的问题帐户设置 - >应用。