VK api:如何在get请求中插入用户ID

时间:2013-11-03 18:10:52

标签: c# api vk

我尝试在Vkontakte上获取有关用户的所有信息。 第一次,当我插入一个uid-它运作良好。 但是,当我插入两个或更多uid时:

<?xml version=\"1.0\" encoding=\"utf-8\"?><error><error_code>100</error_code>                                               
<error><error_code>100</error_code> 
<error_msg>One of the parameters specified was missing or invalid: user_id not            
integer</error_msg><request_params list=\"true\"><param><key>oauth</key><value>1</value>

等等。

我的代码:

public System.Xml.XmlDocument GetUsers(string[] user_ids, string[] fields, string name_case)
    {
        NameValueCollection qs = new NameValueCollection();
        String uids = user_ids[0];
        String myFields = fields[0];

        for (int i = 1; i < user_ids.Length; i++)
        {
                uids += "," + user_ids[i];               
        }
        for (int i = 1; i < fields.Length; i++)
        {
                myFields += "," + fields[i];               
        }
        qs["user_id"] = uids;
        qs["fields"] = myFields;
        qs["name_case"] = name_case;

        XmlDocument doc = Logic.ExecuteCommand("users.get", qs, "");
        if (doc != null)
            return doc;
        else throw new NotImplementedException();
    }

来自users.get函数的文档:http://vk.com/dev/users.get

他们说,我应该使用逗号: Param user_ids:用户ID或屏幕名称(screen_name)。默认情况下,当前用户ID。 list逗号分隔的字符串,允许的最大元素数为1000。

请告诉我如何插入两个或更多uid来请求。 感谢。

1 个答案:

答案 0 :(得分:2)

你应该使用“uids”参数名而不是“user_id”,所以你的代码应该是

qs["uids"] = uids;