Facebook C#SDK - 在PHP中使用Api调用中的数组

时间:2011-03-24 12:37:20

标签: c# arrays facebook-graph-api facebook-c#-sdk

我正在尝试在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版。

由于

1 个答案:

答案 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已被弃用。