我创建了一个名为“Opinion”的自定义对象,用于围绕它构建自定义故事。
我正在尝试使用javascript sdk从我的网站添加一些应用拥有的对象。
facebook给我的示例代码是:
FB.api(
'me/objects/[namespace]:opinion',
'post',
{
app_id: xxxxxxxx,
type: "[namespace]:opinion",
url: "http://samples.ogp.me/331257847005141",
title: "Sample Opinion",
image: "https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png",
description: ""
},
function(response) {
// handle the response
}
);
响应是一个错误(OAuth异常):
2500: Cannot specify type in both the path and query parameter.
如果删除type
参数,我会收到另一个错误:
(#100) The parameter object is required
如果我从路径中删除[namespace]:opinion
,则相同。
我不明白为什么,谷歌搜索后没有任何参考。
为什么这样?我可以参考的任何资源来解决这个问题吗?
答案 0 :(得分:19)
该对象是对象的JSON编码版本,为您生成的示例代码不正确。同时从参数列表中删除类型。
等等,
FB.api(
'me/objects/[namespace]:opinion',
'post',
{
object: {"app_id":xxx,"url":"http:\/\/samples.ogp.me\/331257847005141","title":"\"Sample Opinion\"","image":"https:\/\/s-static.ak.fbcdn.net\/images\/devsite\/attachment_blank.png","description":"\"\""}
},
function(response) {
// handle the response
}
);
可以在http://philippeharewood.com/facebook/objectify.html看到它的外观示例,它基于https://developers.facebook.com/docs/opengraph/using-object-api/
给出的卷曲示例答案 1 :(得分:3)
对于在iOS上遇到类似问题的人来说,示例代码似乎再次出错,但以下似乎有效:
NSMutableDictionary<FBOpenGraphObject> *object =
[FBGraphObject openGraphObjectForPostWithType:@"<appnamespace>:<objecttype>"
title:@"..."
image:[result objectForKey:@"uri"]
url:nil
description:@"..."];
[FBRequestConnection startForPostOpenGraphObject:object completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
// handle the result
if ( error ) {
DLog(@"error %@ creating object", error);
} else {
...
}
}];