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