API do Fluig para mostrar dados no formulário

Estou tentando utilizar a API do Fluig para pegar dados adicionais do usuário e mostrar em um campo do formulário através do evento displayFields. Porém o retorno está sendo feito em HTML (esse HTML é uma tela de login com input de usuário e senha), sendo que era para vim como resultado um JSON. Alguém consegue me ajudar?

Já cadastrei o serviço rest.

Segue meu fonte para análise.


function displayFields(form,customHTML){

    console.log("HELCIO ==> CHAMOU!!");
    console.log(getValue("WKUser"));

    try {

        var clientService = fluigAPI.getAuthorizeClientService();

        var data = {
                companyId : getValue("WKCompany") + '',
                serviceCode : 'helcio',
                endpoint : '/public/2.0/users/getUser/'+getValue("WKUser"),
                method : 'get',
                timeoutService : '100',
                params : {
                    login : 'admin',
                    password : '1234'
                }
        };

        var result = clientService.invoke(JSON.stringify(data));
        console.log("====>");

        if(result.getResult()== null || result.getResult().isEmpty()){
            throw new Exception("Retorno está vazio");
        }else {
            //var usuario = JSON.parse(result.getResult());
            console.log(result.getResult());
            console.log("===> DEU CERTO");
        }

    } catch(err) {
        throw new Exception(err);
    }
}

Helcio,

Se você deseja consumir serviços da API pública em eventos é recomendável utilizar o oAuthUtil: http://bit.ly/PublicAPIFluigEvents

Segue um exemplo de uso da API pública em eventos:


function afterCreateUser(user) {

    // Instância um cliente da API pública do Fluig. O usuário aplicativo utilizado
    // precisa ser um administrador do Fluig
    var consumer = oauthUtil.getNewAPIConsumer(
            "e3fe3d72-bfcc-4552-8c9b-93c66531dab9", 
            "6bd0591b-73d8-4a9e-a161-d54dd92d3172-5a21991e-453f-4ea1-b80c-f42d4c57759d",
            "11a419dd-0c8a-4388-bd32-d66319bd750b",
            "fd2b53a4-b43d-4118-9725-68abaa1b41a9ee584784-73b2-454b-942f-5e07ad114234");

    // Adiciona o usuário criado na comunidade RH através da utilização do método 
    // addParticipants do serviço de comunidades da API Pública
    var postJson = '{"communityAlias": "RH", "userAliases": ["' + user.getLogin() + '"]}';
    consumer.post("/public/social/community/addParticipants", postJson);

}

Quanto as chaves necessárias para o cadastro do app oAuth, você mesmo define. O que importa é, na outra de utilizar o app oAuth, as chaves serem as mesmas.

Nesta página você encontra um passo a passo de como cadastrar o oAuth Provider e o oAuth App: http://tdn.totvs.com/display/fluig/Fluig+API#FluigAPI-Cadastraraplicativonofluig

Abs,

Marcos

Marcos, o cadastro da oauth app está feito com as chaves de Consumer Key e Consumer Secret. Porém o metódo getNewAPIConsumer precisa também de Token Access e Token Secret que eu não sei como obter. Quando eu coloco esses parâmetros referentes ao token vazio também não funciona.

Você precisa gerar as chaves do usuário. No passo 4, da documentação de como cadastrar oAuth Provider e o oAuth App mostra como.