打开图表操作

时间:2013-10-22 20:44:37

标签: ios facebook facebook-opengraph

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

-(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

1 个答案:

答案 0 :(得分:0)

我没有iOS开发体验,但看起来该示例使用的是自托管对象,这意味着Open Graph对象定义可以在Facebook服务器提取和解析的特定URL中指定的HTML标记中找到。您的示例是在https://example.com/book/Snow-Crash.html

寻找一些“书籍”对象

例如,看起来这是一个简单的URL,并且不包含“book”的任何实际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/