使用Facebook IOS SDK共享到Feed时更改defaultAudience

时间:2012-12-12 01:10:21

标签: ios facebook

使用IOS SDK for Facebook(3.1),我发现在设置项目后,我无法更改默认受众。

例如,我将我的测试项目设置为发布到“Only Me”。它工作正常。我正在处理这个例子,我从观众“只有我”开始做出改变。

http://developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/

然后我安排打电话给以下人员:

        [FBSession.activeSession
         reauthorizeWithPublishPermissions:
         [NSArray arrayWithObject:@"publish_actions"]
         defaultAudience:FBSessionDefaultAudienceFriends
         completionHandler:^(FBSession *session, NSError *error) {
             if (!error) {
                 // If permissions granted, publish the story
                 NSLog (@"Here goes nothing");
                 [self publishStory];
             }
         }];

应该将故事发布到DefaultAudienceFriends。但是,它继续发布给Only Me。

不应该这样吗?我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

好的,这是我想出的答案,它解决了我的特殊需求。我在Facebook中更改了应用程序的隐私设置:

http://www.facebook.com/settings?tab=applications

考虑到这一点,这是有道理的。我,作为这个应用程序的用户(我碰巧创建,但可能不相关),我指定它代表我发布时显示的行为。

所以我很高兴,因为现在我可以使用我的应用程序,自由测试它,而不会打扰任何人。当我准备好的时候,我可以更广泛地发布它。

答案 1 :(得分:0)

在授权流程中,您可以在“仅限我”的情况下设置默认受众群体。现在您的应用程序具有尝试重新授权的权限可能无效,除非您可能已注销并重新登录。您可以尝试做的是将所需的受众作为post参数的一部分传递。

所以,基于样本,假设你想要“只有我”,你会添加:

[self.postParams setObject:@"{'value':'SELF'}",
                        forKey:@"privacy"];

如果您想要“朋友”,您可以使用:

[self.postParams setObject:@"{'value':'ALL_FRIENDS'}",
                        forKey:@"privacy"];