4

这可能是一个愚蠢的问题,但我不知道在哪里添加 fb:explicitly_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:explicitly_shared 位之外,这大部分都直接取自开放图形教程。

从 iOS 设备发帖时,我需要在哪里添加此内容?任何帮助深表感谢 :)

4

1 回答 1

11

您需要将参数添加到action,我可以从您的代码中看出,您似乎正在尝试将其添加到object,这显然是行不通的。这是我的做法:

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

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

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

于 2012-12-01T11:37:45.400 回答