为啥公众可以看到通过 iOS ACAccountStore 发布的私人 Facebook 帖子?

Posted

技术标签:

【中文标题】为啥公众可以看到通过 iOS ACAccountStore 发布的私人 Facebook 帖子?【英文标题】:Why is a private Facebook post via iOS ACAccountStore visible to the public?为什么公众可以看到通过 iOS ACAccountStore 发布的私人 Facebook 帖子? 【发布时间】:2016-02-11 22:55:11 【问题描述】:

ios 应用程序(Objective-C)中,我发送带有视频的消息,用户可以选择它是私有的、供朋友使用的还是对公众可见的。 这在很长一段时间内都运行良好,但我最近发现使用“audience = ACFacebookAudienceOnlyMe”发送的消息也对公众可见。使用“audience = ACFacebookAudienceFriends”发帖仍按预期工作。 我的代码没有改变,我不知道这种行为是否出现在 iOS9 中,或者是否是 Facebook 的问题。 有没有人注意到类似的行为?

相关代码为:

NSString * audience;
switch ([[messageOptions objectForKey:@"permission"]intValue]) 
case 0:
    audience = ACFacebookAudienceOnlyMe;
    break;
case 1:
    audience = ACFacebookAudienceFriends;
    break;
case 2:
    audience = ACFacebookAudienceEveryone;
    break;
default:
    audience = ACFacebookAudienceOnlyMe;
    break;


NSMutableDictionary *dict = [[NSMutableDictionary alloc]      initWithObjectsAndKeys:@"XXXXMyAppIDKeyXXXX", ACFacebookAppIdKey, permissions, ACFacebookPermissionsKey, audience, ACFacebookAudienceKey, nil];
__block ACAccount * facebookAccount;
[self.accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) 
    if (granted && error == nil) ... send message and video here..

在发送前直接使用 NSLog 打印时,字典“dict”看起来像这样:

   
    ACFacebookAppIdKey = XXXXMyAppIDKeyXXXX;
    ACFacebookAudienceKey = me;
    ACFacebookPermissionsKey =     (
        "publish_actions"
    );
    

为朋友发帖时 ACFacebookAudienceKey 是“朋友”。

【问题讨论】:

我还没有听说过这样的行为,但是在developers.facebook.com/bugs 上为此创建一个错误报告并没有什么坏处。请务必提供可用于以与您的应用相同的方式发布视频的示例项目以及显示此行为的帖子中的一些示例 ID。 【参考方案1】:

这似乎是一个暂时的问题,几周后我无法重现该行为。

【讨论】:

以上是关于为啥公众可以看到通过 iOS ACAccountStore 发布的私人 Facebook 帖子?的主要内容,如果未能解决你的问题,请参考以下文章

为啥微信公众平台的“网页授权”接口获取access

爬取微信公众号历史记录

微信公众号已认证为啥还是不能直接搜索到

使用 blackfire.io 分析 PHP 7 应用程序,为啥我看到相同代码的不同 cpu 时间?

如果我替换 Vuforia iOS 项目的茶壶对象,为啥只看到三角形而不是立方体?

带有 PubNub 的 Socket.io ......为啥?