Erro ao pegar retorno do Json

estou tentando utilizar uma API, mas na hora de pegar o retorno esta dando erro nesta linha:


var retorno = JSON.parse(consumer_v2.get("/public/2.0/documents/getDownloadURL/2861")).content;

o erro que ocorre é: sun.org.mozilla.javascript.internal.EcmaError: SyntaxError: Unexpected token: C (#44) in at line number 44.

1 curtida

@Robson, se retirar o JSON.parse, dá erro também?

se retirar o JSON.parse não da erro. mas tem como pegar o retorno sem utilizar o JSON.parse ?
estou utilizando esse código dentro de uma atividade de Script

Pelo que vi na documentação ele já retorna um object (JSON), tente acessar os dados do retorno sem JSON.parse

@Robson, Pelo que vi na documentação ele já retorna um object (JSON), tente acessar os dados do retorno sem JSON.parse

Executa esse código e verifique o que irá aparecer no log:


var retorno = JSON.parse(consumer_v2.get("/public/2.0/documents/getDownloadURL/2861"));
log.dir(retorno);

var ret = retorno.content
log.dir(ret);

tentei pegar o retorno sem JSON.parse, utilizando da seguinte forma

var retorno = consumer_v2.get(“/public/2.0/documents/getDownloadURL/2861”);

e pegando o retorno:

log.info(“RETORNO DO JSON” + retorno.content);

e

log.info(“RETORNO DO JSON” + retorno[0].content);

mas tbm não deu certo. o resultado no log.info sai ‘undefined’

Tente novamente com o JSON.parse, sem “.content”

com o JSON.parse e sem o .content da o seguinte erro: sun.org.mozilla.javascript.internal.EcmaError: SyntaxError: Empty JSON string (#46) in at line number 46

Adicionei um complemento na resposta

executei o código conforme solicitado e deu o seguinte erro: SyntaxError: Empty JSON string (#50) in at line number 50

.Na linha 50 esta o codigo:

var retorno = JSON.parse(consumer_v2.get(“/public/2.0/documents/getDownloadURL/2861”));

Em qual evento está chamando e qual versão do seu Fluig?

Esse código esta no script da atividade do tipo ‘tarefa de script’, então sempre que o processo passar por essa atividade de script ele chama esse código.

a versao do fluig é a 1.5.13-EP1 91. tambem tentei executar o mesmo codigo no evento beforeTaskSave do processo mas deu o mesmo erro.

Faz um teste, consumindo de um evento beforeTaskSave de uma atividade normal, pra verificar se ocorrerá o mesmo erro.

mesmo testando no evento beforeTaskSave de uma atividade normal ainda deu o erro: SyntaxError: Empty JSON string

Se você colocar assim, o que mostra no log:


var retorno = consumer_v2.get("/public/2.0/documents/getDownloadURL/2861");
log.info("#### retorno ####");
log.dir(retorno);


desta forma ele mostra “” no log

Esse arquivo 2861 está com permissão de download?

sim, esta com permissão de download

Estranho é que não retorna nem erro. Tentou com algum outro arquivo?

sim, fiz testes com vários arquivos mas também não deu certo. vou tentar fazer uma função no javascript do formulário pra ver se da certo. assim que finalizar os testes posto aqui nos comentários se deu certo