我在应用中实现深层链接。 按照我发现的每个教程。 测试了所有可能的设置。
结果是:如果我用" user_generated":" true"发布一个故事,Facebook就会发布大照片,但没有像#34这样的链接;在Instagram上查看","查看Foursqare"等等。所以人们无法达到实际目标。
Facebook设置: 显示名称,命名空间,应用程序域,站点URL,捆绑ID,iPhone商店ID,深层链接(ON),本机或桌面应用程序?(ON),您的App Secret是否已嵌入?(OFF)
应用限制 - 无限制
我设置了开放图表操作和对象,他们正在使用#34; user_generated":" true"。
我发送了我的代码(此示例替换了projectnamespace):
-(void) shareOnFacebook: (NSString *) image {
NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
object.provisionedForPost = YES;
object[@"type"] = @"projectnamespace:photo";
object[@"title"] = _postText.text;
object[@"url"] = responseJson[@"share"];
object[@"og:url"] = responseJson[@"share"];
object[@"al:web"] = responseJson[@"share"];
object[@"web"] = responseJson[@"share"];
if (image) {
NSLog(@"Photo Link: %@", image);
object[@"image"] = @[@{@"url": image, @"user_generated" : @"true" }];
}
// Post custom object
[FBRequestConnection startForPostOpenGraphObject:object completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if(!error) {
NSString *objectId = [result objectForKey:@"id"];
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
[action setObject:objectId forKey:@"photo"];
[action setObject: @"true" forKey: @"fb:explicitly_shared"];
if (image)
[action setImage:@[@{@"url": image, @"user_generated" : @"true" }]];
// create action referencing user owned object
[FBRequestConnection startForPostWithGraphPath:@"me/projectnamespace:add" graphObject:action completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if(!error) {
NSString *actionId = [result objectForKey:@"id"];
NSLog(@"Posted story to facebook: %@", actionId);
[self shareAndDismiss: nil];
} else {
// An error occurred
NSLog(@"Encountered an error posting action to Open Graph: %@", error);
[self shareAndDismiss: nil];
}
}];
} else {
// An error occurred
NSLog(@"Error posting the Open Graph object to the Object API: %@", error);
[self shareAndDismiss: nil];
}
}];
}
答案 0 :(得分:2)
据我所知,在Facebook上分享的Foursquare帖子上没有这样的“在Foursquare上查看”链接。
我所知道的唯一“View on ...”链接适用于Instagram。然而Instagram是一家Facebook公司。 Facebook和Instagram团队合作开展自己的照片分享体验,这意味着他们不像我们一样受限于API。
我担心“在Instagram上观看”只是Instagram应用程序的特殊功能,并且Facebook API不会将此功能提供给其他应用程序。