【问题标题】:Is there a way of automatically showing OpenGraph actions on a users timeline without them having to enable it from the activity log?有没有一种方法可以在用户时间轴上自动显示 OpenGraph 操作,而无需从活动日志中启用它?
【发布时间】:2012-07-09 14:44:51
【问题描述】:

我正在使用以下代码从我的 iPhone 应用程序将操作发布到 Open Graph:

-(void) postEarnedBadgeToFacebook:(id)delegate:(Badge*)theBadge
{
    NSLog(@"Posting badge [%@] to facebook", theBadge.badgeTitle);

    NSMutableDictionary * params = [[NSMutableDictionary alloc]init];
    [params setValue:[theBadge getFullyQualifiedFacebookWebPageUrl] forKey:@"badge"];
    [params setValue:[theBadge getFullyQualifiedFacebookWebImageUrl] forKey:@"image"]; 

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    NSLog(@"Posting graph request for me/myapp:earn");
    [[appDelegate facebook] requestWithGraphPath:@"me/myapp:earn" andParams:params andHttpMethod:@"POST" andDelegate:self];
}

这工作得很好,我可以在我的 facebook 个人资料的活动日志中看到上述调用:

问题:虽然我的应用程序的操作显示在活动提要中,但有没有一种方法可以让它们自动显示在用户时间轴上?目前,用户必须手动点击绿色圈出的选项,然后选择“在时间轴上显示”

【问题讨论】:

    标签: ios facebook ios5 facebook-opengraph


    【解决方案1】:

    Check My Answer 并查看更多关于 Document about Explicit Sharing 的信息:

    id<FBOpenGraphAction> action = (id<FBOpenGraphAction>) [FBGraphObject graphObject];
    [action setObject: @"true" forKey: @"fb:explicitly_shared"];  // The key point!
    

    【讨论】:

    • 您需要记住在 Facebook 开发者应用仪表板中为打开图形操作启用“显式共享”设置,但这对我来说效果很好。
    • 虽然 OP 的示例没有明确共享,但它们似乎是在玩游戏或关卡时自动或半自动发布的,因此可能不会被批准用于该功能
    【解决方案2】:

    我不认为有其他方法涉及您希望执行的操作,因为 Facebook 会限制这可能产生的潜在垃圾邮件。

    相反,Facebook 为有兴趣立即发布到用户时间线的开发人员提供了publish_stream 扩展权限。这可能是您感兴趣的内容。

    假设您使用的是 PHP,这可能是您查看的一个很好的起点(使用 PHP SDK):

    参考:developers.facebook.com/docs/reference/php/facebook-api/

    祝你好运!

    【讨论】:

    • 感谢您的回复。我使用的是 ios SDK 而不是 php。另外,我正在使用权限publish_actions,我会看看publish_stream,看看有什么区别。
    • 我将publish_action 交换为publish_stream,虽然该操作仍会记录到活动日志中,但我看不到其他行为变化。如果没有用户手动显示,该动作仍然不会显示在时间轴中
    • 交换权限只允许您的应用将信息发布到用户的墙上。您需要同时授予权限并使用我上面提到的参考(请参阅me/feed)将信息实际发布到他们的墙上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2022-12-14
    相关资源
    最近更新 更多