1

我正在使用以下代码将操作从我的 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 个人资料的活动日志中看到上述调用,如下所示:

在此处输入图像描述

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

4

2 回答 2

1

检查我的答案 并查看更多关于 Explicit Sharing 的文档

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>) [FBGraphObject graphObject];
[action setObject: @"true" forKey: @"fb:explicitly_shared"];  // The key point!
于 2013-06-26T03:16:07.710 回答
0

我不相信有另一种方法涉及您希望做的事情,因为 Facebook 会限制这可能产生的潜在垃圾邮件。

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

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

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

享受和好运!

于 2012-07-09T14:53:39.293 回答