【问题标题】:How to Get users by group from EconomicWebService SOAP如何从 EconomicWebService SOAP 按组获取用户
【发布时间】:2022-07-07 14:29:00
【问题描述】:

当前,如果我想从一个组中获取帐户,我必须获取所有用户,然后使用 php 过滤其组。有没有办法从一个组中获取所有用户。就像我有第 3 组和第 5 组一样。我只需要第 3 组的用户。目前我正在通过迭代 15000 个用户然后在 php 循环中进行过滤

    $wsdl_url = 'https://api.e-conomic.com/secure/api1/EconomicWebservice.asmx?WSDL';
    $client = new SoapClient($wsdl_url, array("trace" => 1, "exceptions" => 1));            
    $client->ConnectWithToken(
        array(
                'token'    => '******',
                'appToken' => '******'
            )
        );
    $accounts = $client->Debtor_GetAll();
    
    foreach($accounts->Debtor_GetAllResult->DebtorHandle as $account)
    {
        
        $data = $client->Debtor_GetData(array('entityHandle' => $account));
        
        $user_id = $email = $name = $password = $vat_number = $phone = '';
        
        // Make sure required values are present (e-mail and ID)
        if(!isset($data->Debtor_GetDataResult->Number, $data->Debtor_GetDataResult->Email))
        {
            continue;
        }
        
        $user_id    = utf8_decode($data->Debtor_GetDataResult->Number);
        $email      = utf8_decode($data->Debtor_GetDataResult->Email);
       
        if(isset($data->Debtor_GetDataResult->Name))
        {
            $name = utf8_decode($data->Debtor_GetDataResult->Name);
        }
       
            
        if($data->Debtor_GetDataResult->DebtorGroupHandle->Number == 5){$i++;
        $userdata = array();
        $userdata['user_id'] = $user_id;
        $userdata['group_id'] = $data->Debtor_GetDataResult->DebtorGroupHandle->Number;
        $userdata['name'] = $name;
        echo    $userdata['name'];
        echo    "<br>";
         
        }
        
    }

【问题讨论】:

    标签: php soap wsdl soap-client


    【解决方案1】:

    您需要传递组 id 才能按组查找用户

    $groupHandle= $client
                ->DebtorGroup_FindByNumber(array('number'=>$group_id))
                ->DebtorGroup_FindByNumberResult;
            $debtorHandles = $client->DebtorGroup_GetDebtors(array('debtorGroupHandle'=>$groupHandle))
                ->DebtorGroup_GetDebtorsResult
                ->DebtorHandle;
    

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多