我是否需要为OpenGraph对象的每个实例创建一个网页/对象?

时间:2012-06-28 10:49:43

标签: facebook opengraph facebook-opengraph

问题:我是否必须针对Facebook Open Graph为每个“对象”实例创建一个网页?

信息:

我在开放图协议上针对对象earn创建了一个操作badge

我创建了一个包含以下内容的php页面,并在heroku上托管:

<head prefix="og: http://ogp.me/ns# myapp: 
                  http://ogp.me/ns/apps/myapp#">
  <title>CarViva</title>
  <meta property="fb:app_id" content="myappid" /> 
  <meta property="og:type" content="myapp:badge" /> 
  <meta property="og:title" content="Badge" /> 
  <meta property="og:image" content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" /> 
  <meta property="og:description" content="You've earned a badge!'" /> 
  <meta property="og:url" content="<myurl>/badge.php">
</head>

从我的iOS应用程序中,我这样做是为了调用徽章的收益:

NSLog(@"Building badge object...");
NSDictionary * theBadge = [NSDictionary dictionaryWithObjectsAndKeys:
                           @"Super Awesome badge", @"name", 
                           [NSString stringWithFormat:@"%@/badge.php",kBackEndServer], @"link",  
                           nil];

[params setValue:[theBadge objectForKey:@"link"] forKey:@"badge"];
// somehow set the badge title (and description, image) here?

[[delegate facebook] requestWithGraphPath:@"me/myapp:earn" andParams:params andHttpMethod:@"POST" andDelegate:self];
NSLog(@"Graph request posted, awaiting response");

这很好用,我可以看到事件在我的新闻Feed中显示如下:

enter image description here

关于开放图表,我对“对象”的含义有点困惑。

badge本身就是对象,但我会有各种不同的类型,例如“超级棒徽章”,“Noob徽章”,“专业徽章”等。如何发布动作个别一个吗?

问题(略微更详细):我是否需要为我的facebook OG对象的每个单独实例创建一个网页?或者我是否需要为每个实例创建一个OG对象?

1 个答案:

答案 0 :(得分:0)

  

问题:我是否必须针对Facebook Open Graph为每个“对象”实例创建一个网页?

当然可以,因为这就是Open Graph对象 :包含该特定对象实例数据的URL。