1

使用 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 发布。

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

4

2 回答 2

2

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

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

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

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

于 2012-12-15T18:04:34.380 回答
0

在授权流程中,您设置了默认受众,在您的情况下为“只有我”。既然您的应用程序具有尝试重新授权的权限,则可能什么都不做,除非您可能注销并重新登录。您可以尝试做的是将您想要的受众作为 post 参数的一部分传递。

因此,根据示例,假设您想要“只有我”,您将添加:

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

如果你想要“朋友”,你会使用:

[self.postParams setObject:@"{'value':'ALL_FRIENDS'}",
                        forKey:@"privacy"];
于 2012-12-14T01:27:01.330 回答