0

我正在尝试运行 facebook 提供的 Open Graph Action 示例,但没有任何反应。调试时,我看到该操作已创建,但在 [FBDialogs presentShareDialog...] 它只是跳过并跳转到函数的末尾。你为什么认为这是?我读到 shareddialog 不能在 IOS 模拟器中运行,但不应该产生错误或什么?或者如果我在模拟器上运行它应该什么都不会发生?

-(IBAction)ShareFB:(id)sender{
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
[action setObject:@"https://example.com/book/Snow-Crash.html" forKey:@"book"];

 [FBDialogs presentShareDialogWithOpenGraphAction:action
                                      actionType:@"books.reads"
                             previewPropertyName:@"book"
                      handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
                                             if(error) {
                                                 NSLog(@"Error: %@", error.description);
                                             } else {
                                                 NSLog(@"Success!");
                                             }
                                         }];

参考文字:https ://developers.facebook.com/docs/ios/share-dialog/#tips

4

1 回答 1

0

我的 iOS 开发经验为零,但看起来该示例使用的是自托管对象,这意味着在 Facebook 服务器获取和解析的特定 URL 中指定的 HTML 标记中可以找到 Open Graph 对象定义。您的示例正在https://example.com/book/Snow-Crash.html上寻找一些“书”对象

看起来这是一个简单的 URL,例如,不包含任何“书”的实际 Open Graph 属性。Facebook 提供了一个工具来读取 URL 并查看 Facebook 在关注 Open Graph 对象时查找和获取的内容:https ://developers.facebook.com/tools/debug/og/object?q=https%3A%2F% 2Fexample.com%2Fbook%2FSnow-Crash.html

基本上,您将需要设置一个网站并在具有一些特定元标记的特定 URL 处定义对象。在此处阅读以获取更多信息:https ://developers.facebook.com/docs/opengraph/using-objects/

于 2013-10-24T18:31:02.100 回答