var hashid = 'abc123';
var title = 'Awesome Widget';
FB.api( // creating the widget object instance/record
'me/objects/myapp:widget',
'post',
{
object: JSON.stringify({
'app_id': <obfuscated>,
'url': 'http://example.com/' + hashid, // maps to og:url
'title': 'widget', // maps to og:title
'myapp:real_title': title, // maps to nothing right now! No bueno!
'image': { // maps to og:image
'url': 'http://example.com/images/' + hashid
},
'description': 'Man, this widget is awesome!' // maps to og:description
})
},
function(response) {
// handle the response
}
);
是的,我已经创建了自定义“小部件”对象和自定义“real_title”属性。正在创建对象,但不包括“real_title”属性:
我是否需要在每个属性(og:title
等)的对象实例/记录中指定特殊语法?
P.S。
我希望og:title
只是“小部件”,因为我想以特定的方式创建用户故事。因此,还需要指定real_title
。
P.S.S。
我实际上是在创建对象实例,对象记录还是其他什么?
答案 0 :(得分:1)
标准对象属性被添加到JSON的顶级 您传入调用以创建对象的对象。
应包含任何不属于标准对象属性的属性 作为数据:创建时传入的JSON对象上的{...}元素 一个东西。这是一个包含自定义山类型的示例 海拔自定义属性;
{
title: 'Mt. Rainier',
type: 'myapp:mountain',
image: 'http://en.wikipedia.org/wiki/File:Mount_Rainier_5917s.JPG',
url: 'https://url.to.your.app/example/mountains/Mt-Rainier',
description: 'Classic cold war technothriller',
data: {
elevation: 14411
}
}
此格式与对象在读取时的外观相同 通过Graph API从数据库返回。
简而言之,您需要执行以下操作:
var hashid = 'abc123';
var title = 'Awesome Widget';
FB.api( // creating the widget object instance/record
'me/objects/myapp:widget',
'post',
{
object: JSON.stringify({
'app_id': <obfuscated>,
'url': 'http://example.com/' + hashid, // maps to og:url
'title': 'widget', // maps to og:title
'image': { // maps to og:image
'url': 'http://example.com/images/' + hashid
},
'description': 'Man, this widget is awesome!', // maps to og:description
'data': {
'real_title': title // maps to myapp:real_title
}
})
},
function(response) {
// handle the response
}
);