我尝试在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来请求。 感谢。
答案 0 :(得分:2)
你应该使用“uids”参数名而不是“user_id”,所以你的代码应该是
qs["uids"] = uids;