Bonjour,
J’ai du mal à utiliser la fonction AdvancedSearchContact via un script PHP.
Si quelqu’un a un bout d’exemple à me proposer cela pourrait m’aider à ne plus me prendre la tête …
Merci d’avance
Bonjour,
J’ai du mal à utiliser la fonction AdvancedSearchContact via un script PHP.
Si quelqu’un a un bout d’exemple à me proposer cela pourrait m’aider à ne plus me prendre la tête …
Merci d’avance
Je reviens à la charge mais avec un bout de mon script php : L’idée originelle est de rechercher certains contacts pour un utilisateur et d’intégrer des VCF concernant les recherches si on ne les trouve pas. Je veux donc utiliser la fonction AdvancedSearchContact mais celle ci ne me retourne rien (quelque soit le filtre utilisé (Lastname,firstname, …))
Qu’est ce qui ne va pas ?
Voici mon script de test :
class ContactQuery {
public $archive = false;
public $fields = null;
public $gal=false;
public $includeDeletedUsersFolder=false;
public $includePublicCollectedFolder=true;
public $query=null;
public $suscribedFolderOnly=true;
}
$MyContactQuery=new ContactQuery();
$MyContactQuery->query="firstname:pierre";
$serv = new SoapClient('http://MonserveurBluemail.mydomain/soap/proxy?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE));
$login = $serv->login(array('arg0' => 'admin0@global.virt', 'arg1' => '0c55c4bf-13ef-59b3-8ef4-89a53ab9n4e5', 'arg2' => 'import'));
$token = $login->return;
$MyVarLogin='MonUtilisateur';
if($token->sessionId)
{
$MyUserLogin = array ('arg0' => $token, 'arg1' => $MyVarLogin.'@mydomain');
$MyToken=$serv->sudo($MyUserLogin);
$MyTabTokenUser =
"delegationTarget" => $MyToken->return->delegationTarget,
"domain" => $MyToken->return->domain,
"domainGlobal" => $MyToken->return->domainGlobal,
"domainId" => $MyToken->return->domainId,
"origin" => $MyToken->return->origin,
"sessionId" => $MyToken->return->sessionId,
"user" => $MyToken->return->user,
"userId" => $MyToken->return->userId,
"version" => $MyToken->return->version,,
];
$MyContacts = $serv->advancedSearchContact(array('arg0' => $MyTabTokenUser, 'arg1' => $MyContactQuery));
var_dump($MyContacts);
}
et pour les logs :
...
[vert.x-worker-thread-15] n.b.c.c.ContactHome INFO - [MonUtilisateur@chpyr.fr] ElasticSearch: 'firstname:pierre'
[vert.x-worker-thread-15] n.b.c.c.AddressBookBindingImpl ERROR - No node available
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
...
C’est OK
Je ne sais pas pourquoi mon précédent test ne fonctionnait pas mais avec les lignes ci dessous cela fonctionne :
$MonEmail="monemail@mondomain";
$MyContactQuery=new ContactQuery();
$MyContactQuery->fields=array('_all');
$MyContactQuery->query="email:".$MonEmail;
$MyContacts = $serv->advancedSearchContact(array('arg0' => $MyTabTokenUser, 'arg1' => $MyContactQuery));