0

我尝试在 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。列出逗号分隔的字符串,允许的最大元素数为 1000。

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

4

1 回答 1

2

您应该使用“uids”参数名称而不是“user_id”,因此在您的代码中应该是

qs["uids"] = uids;
于 2014-03-29T07:44:16.337 回答