我正试图使用js-sdk开发一个使用自定义故事和对象的facebook应用程序,但遇到了一些问题。
我试图实现的是创造一个这样的故事:"约翰在MyApp上踢足球。-迈克和凯特在城市体育场"在文本下面是一个图像、一个标题和一些描述,点击后会转到一个链接。
我把我的动作定义为"比赛",把我的目标定义为"足球"。
脸书给出的行动代码是:
FB.api(
'me/myapp:play',
'post',
{
football: "http://samples.ogp.me/xxxxxxxxxxxx"
},
function(response) {}
);
facebook给出的目标代码是:
FB.api(
'me/objects/myapp:football',
'post',
{
app_id: myappid,
type: "myapp:football",
url: "http://samples.ogp.me/xxxxxxxxxxx",
title: "Sample Football",
image: "https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png",
description: ""
},
function(response) {}
);
然而,我使用它如下:HTML:
<a onclick="playFootball();" href="#">Play Football</a>
JS:
function playFootball() {
FB.api(
'me/testapp-radu:play',
'post',
{
tags: "xxxxxx, xxxxxx,",
place: "https://www.facebook.com/pages/MyPlace/xxxxxx?ref=br_rs",
football: "http://samples.ogp.me/xxxxxx",
image: "http://www.peter-ould.net/wp-content/uploads/soccer-ball.jpg",
privacy: {'value': 'SELF'}
},
function(response) {});
}
结果是:http://img545.imageshack.us/img545/337/yj9o.jpg
- 我无法将"踢过足球"改为"踢过的足球"
- 尽管使用了属性标题,但标题没有改变,这同样适用于url和描述,我也尝试使用对象,但仍然没有结果
如果有人能帮我解决这两个问题,我会非常感激,或者至少给我一些基本的教程(facebook文档有时会让我感到困惑)。
我认为您使用足球作为指定故事的错误方式。您使用的是实例的名称,而不是类。让我解释一下。
以下是我可以想到的两个场景:
-
你的应用程序是关于用户玩的游戏。因此,在这种情况下,您的对象变成游戏,足球将成为游戏的
name
。所以现在你的故事读起来像:"A通过your_app与B和C一起踢足球;由于您将提供游戏对象的
name
属性,facebook将为您选择正确的故事句子 -
你的应用程序是关于体育产品的,在这种情况下,你的对象变成sport_product或产品,足球将是体育产品的一个实例。但在这种情况下,play的动作没有任何意义。因此,假设购买是一种行动。所以现在你的故事读起来像:
"A通过your_app购买了B和C的足球;
此外,如果你仔细想想,足球作为一个物体是没有意义的。足球的name
属性的价值是什么;卡卡的足球没有道理。从对象的泛型类的角度来思考,而不是从实例的角度来考虑。(想想Movie
而不是《盗梦空间》)。
示例故事
希望这是有道理的!