关于自定义故事的Facebook“查看...”文字没有显示

时间:2015-01-30 10:45:39

标签: ios objective-c facebook-graph-api facebook

我在应用中实现深层链接。 按照我发现的每个教程。 测试了所有可能的设置。

结果是:如果我用" 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];
    }
}];
}

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

据我所知,在Facebook上分享的Foursquare帖子上没有这样的“在Foursquare上查看”链接。

我所知道的唯一“View on ...”链接适用于Instagram。然而Instagram是一家Facebook公司。 Facebook和Instagram团队合作开展自己的照片分享体验,这意味着他们不像我们一样受限于API。

我担心“在Instagram上观看”只是Instagram应用程序的特殊功能,并且Facebook API不会将此功能提供给其他应用程序。