我正在尝试在C#中使用这个php的代码块:
$fb->api(array(
'method' => 'events.invite',
'eid' => $event_id,
'uids' => $id_array,
'personal_message' => $message,
));
我试过这个:
string[,] array = new string[3, 2];
array[0, 0]= "method";
array[0, 1] = "events.invite";
array[1, 0] = "eid";
array[1, 1] = IdEvent.ToString();
array[2, 0] = "uids";
array[2, 1] = "100000339376504";
users = app.Api(array.ToString());
但是没有成功,我收到了这个错误:
error = {“type”:“OAuthException”,“message”:“(#803)您请求的某些别名不存在:system.string [,]”}
有人可以帮我构建这个数组吗?在这个项目中,我是Facebook C#SDK的第4版。
由于
答案 0 :(得分:1)
C#SDK不支持将参数作为数组传递。为了澄清你在做什么,PHP代码和你的C#数组代码在功能上并不相同。对PHP代码的正确“替换”是字典。
因此,要修复代码,您需要执行此操作:
var parameters = new Dictionary<string, object>() {
{ "method", "events.invite" },
{ "eid", IdEvent },
{ "uids", "100000339376504" }
};
var users = app.Api(parameters);
另外,请务必注意我没有使用Api(字符串路径)覆盖。您应该调用的方法是Api(IDictionary&lt; string,object&gt;参数)。它们是两个截然不同的论点。正确使用字符串覆盖类似于:
var result = app.Api(“me / friends”);
最后,我建议您查看Graph API而不是Rest API。 Rest API已被弃用。