基本上,我有一个从地方继承的自定义对象。我正在使用位于here的Facebook Sharp c#SDK创建一个用于创建对象的c#工具。我在进行这些调用时使用了应用访问令牌。
我尝试了各种方法和变体:
以下是一个示例电话:
(OAuthException - #100)(#100)参数对象是必需的
_api.AccessToken = GetExtendedToken().Token;
var postdata = new Dictionary<string, object>
{
//{"fb:app_id", "appId"},
//{"type", "myapp:myobject"},
{"url", resort.Url},
{"title", resort.Name },
{"image", resort.Image},
{"video", resort.Video},
{"description", resort.Description},
{"place:location:latitude", lat},
{"place:location:longitude", long}
};
var response = _api.Post("/app/objects/myapp:myobject", postdata);
如果我取消注释我得到的类型参数:
(OAuthException - #2500)无法在路径和查询参数中指定类型
如果我重新添加类型,并从路径中删除类型,我会得到 true 的回复,但这应该是 id: 23049820398092384
如果我删除了地方对象,或者我删除了地点和类型,或者是否 我删除地方,但使用类型并更改获取路径,我仍然得到 错误。
答案 0 :(得分:0)
重构了一下。在这种情况下,我需要将postdata信息分配给对象,如下所示。还需要停止使用facebooksharp,他们的api对请求做了奇怪的事情。
var obj = new
{
app_id = appId,
type = app_name:object_type",
url = Url,
title = Name,
image = Image,
video = Video,
description = Description
};
var vars = new NameValueCollection {{"object", JsonConvert.SerializeObject(obj)}, {"format", "json"}, {"access_token", AppToken}};
var url = "https://graph.facebook.com/app/objects/"+ _appName + object_type;
return HttpTools.Post(url, vars);