我有一个smartertrack服务器,我正在使用他们位于此处的网络服务http://portal.smartertools.com/services2/
旧的服务器是Vtiger的设置很糟糕,它的mysql数据库很复杂,如果没有荒谬的时间配对等效表,就无法进行直接传输。因此,我倾倒信息并将特定信息转移到新系统中。
我的excel转储测试我已经设置了,当我拉它时,我确实将它转换为CSV。
第0行:用户名 第1行:电子邮件 第2行:密码 第3行:电话号码 第4行:UserID
CreateUser2 将用户添加到没有任何角色的SmarterTrack。通常,您应该通过对AddRoleToUser函数的一次或多次调用来执行此函数。 Web服务为新服务器设计的用于创建用户的输入参数如下
所以当我在php CL中使用以下代码时,我可以将用户上传到服务器并进入新的MySQL数据库就好了。
<?php
/*
* Usage: php createUsers.php [baseurl] [username] [password] [csvfile]
*/
$baseUrl = $argv[1];
$authUserName = $argv[2];
$authPassword = $argv[3];
$csvFile = $argv[4];
$client = new SoapClient($baseUrl.'Services2/svcOrganization.asmx?WSDL');
$fp = fopen($csvFile,'r') or die("Could not open $csvFile");
while($row = fgetcsv($fp)) {
$result = $client->createUser(array(
'authUserName' => $authUserName,
'authPassword' => $authPassword,
'username' => $row[0],
'password' => $row[4],
'email' => $row[1],
'isEmailVerified' => true,
'displayName' => $row[0],
));
}
这很好用,没问题。因此,在我的服务器中编辑用户设置时,您可以选择自定义字段等选项。
SetUserCustomFields 设置指定用户提供的自定义字段属性的值。
此webservices输入参数如下:
同样,第4行是转储文件中的userID。 customFieldValues是一个数组,这是我用来尝试拉这个的代码
<?php
/*
* Usage: php createUsers.php [baseurl] [username] [password] [csvfile]
*/
$baseUrl = $argv[1];
$authUserName = $argv[2];
$authPassword = $argv[3];
$csvFile = $argv[4];
$client = new SoapClient($baseUrl.'Services2/svcOrganization.asmx?WSDL');
$fp = fopen($csvFile,'r') or die("Could not open $csvFile");
while($row = fgetcsv($fp)) {
$result = $client->SetUserCustomFields(array(
'authUserName' => $authUserName,
'authPassword' => $authPassword,
'userId' => $row[5],
'customFieldValues' => array(
'Phone' => $row[3]
)));
}
在服务器中,对于自定义字段,字段标识符电话的ID为3.(显示名称为1,地址47等...)
使用该代码语法清晰,但我仍然没有进入服务器,这让我陷入困境。我显然正确地瞄准了服务器,我只是不知道我的键值对是否正确。
答案 0 :(得分:0)
我明白了,&#39;电话&#39; =&GT; $ row [3]需要是&#39; Phone =&#39;。 $行[3]