这可能是一个愚蠢的问题,但我无法弄清楚在哪里添加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设备发布时,我需要在哪里添加?非常感谢任何帮助:)
答案 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中)。)