我在哪里发布fb:explicit_shared for iOS sdk

时间:2012-11-30 12:24:57

标签: ios facebook sdk

这可能是一个愚蠢的问题,但我无法弄清楚在哪里添加fb:explicit_shared bool。

我可以在使用Graph API Explorer时完成这项工作,只需添加字段并将其设置为“true”即可。像魅力一样。

但是当我尝试在我的iOS应用程序中执行此操作时,它根本无效。

- (id<OGObject>)myObjectForObject:(NSDictionary*)object
{

    NSString *format =
    @"http://www.myurl.com/fbobjects/object.php?"
    @"fb:app_id=<my_app_id>&og:type=%@"
    @"&fb:explicitly_shared=true"
    @"&og:title=%@"
    @"&og:description=%@"
    @"&og:image=http://www.myimageurl.com/image.png"
    @"&body=%@";

    id<OGObject> result = (id<OGObject>)[FBGraphObject graphObject];

    // Give it a URL that will echo back the name of the wod as its title,
    // description, and body.
    result.url = [NSString stringWithFormat:format,
                  @"myapp_namespace:object",
                  [object objectForKey:@"title"],
                  [object objectForKey:@"description"],
                  [object objectForKey:@"title"]];

    NSLog(@"%@", result.url);

    return result;
}

除了我添加了fb:explicit_shared位的地方之外,大部分直接来自open graph tutorial

从iOS设备发布时,我需要在哪里添加?非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:11)

您需要将参数添加到操作,以及我从您的代码中可以看出的内容,您似乎正在尝试将其添加到对象,显然不行。 我是这样做的:

id<GSOGTrackActivityAction> action = (id<GSOGTrackActivityAction>)[FBGraphObject graphObject];
action.activity = activityObject;

[(NSMutableDictionary *)action setValue:@"true" forKey:@"fb:explicitly_shared"];

(请注意,GSOGTrackActivityAction是我对操作对象进行类型访问的自定义协议。“track”是我的操作,“activity”是我的对象(在Open Graph中)。)