Estou com o mesmo problema no caso da paginação. Acredito que com esse vídeo vou resolver meu problema.
@DevAnalytics Жыл бұрын
Fala Claudio, tudo certo? Este vídeo kzbin.info/www/bejne/qGevg6mir9dpfcU fala sobre paginação de uma forma bem completa! Espero que lhe ajude!
@gabrielaguiar-ilhaservice6093 жыл бұрын
Ajudou muito!
@LucianoDantas13 Жыл бұрын
Otimo video, me salvou aqui. a API que eu uso tem que gerar um token para o Authorization mas vi no seu outro video e funcionou muito bem.\ e a diferença que na minha API nao usa Limit e sim a partir de um registro mas já que faz 5000 em 5000 fiz 0 - 5000 - 10000 na pagination. Muito bom o video Parabens.
@DevAnalytics Жыл бұрын
Muito obrigado, Luciano! É uma grande satisfação saber que o conteúdo que disponibilizo lhe foi útil 👍🏻👍🏻👍🏻 Um forte abraço!
@eltonmelo9728 Жыл бұрын
Excelente vídeo, Obrigado pela ajuda.
@DevAnalytics Жыл бұрын
Eu que agradeço, Elton!
@edirlopeslima75562 жыл бұрын
Boa noite Raphael, poderia me ajudar com uma questão? estou fazendo uma integração com o bling, porem, na API do Bling usa paginação, so que não tem as informçaoes de totais de registros para fazer os calculos e saber a quantidade de paginas que deverá percorrer, tem alguma ideia para resolver esse problema?
@DevAnalytics2 жыл бұрын
Fala Edir, tudo certo? Quando não temos os dados sobre a quantidade de registros disponíveis na API, o jeito é monitorar a quantidade de registros vinda em cada requisição. Ex: a API retorna no máximo 100 registros, por isso, se ela tiver 132 registros, você terá 2 páginas, certo? O pulo do gato, é sempre que você faz uma requisição, pegue a quantidade de registros dela (podes usar funções M como List.Count) e verifique os valores. No teu lopping, você deverá colocar uma condicional, onde o looping irá terminar, assim que a quantidade de registros for igual a zero. Desta forma você poderá paginar a API do Bling corrretamente ;) Abs!
@nicollasfronio5067 Жыл бұрын
e para tokens que mudam a cada requisição? isso funciona?
@DevAnalytics Жыл бұрын
Sim Nicolas, pois a cada chamada ele irá pegar um novo token ;)
@danielcecilio6 ай бұрын
Otima tarde Raphael... cara consegue me ajudar com relação a Chamada Call e RelativePath do banco do Omie... vou precisar criar mais de uma tabela e sao Call e RelativePath diferentes.. to quebrando a cabeça mais nao consigo faze isso
@DevAnalytics3 ай бұрын
Fala Daniel, tudo certo? Cara, existem algumas formas de deixar as consultas mais dinâmicas, mas não seria possível explicá-las por aqui. Em breve estarei trazendo novidades sobre este tema ;)
@HilgnerSmart3 ай бұрын
Para fazer isso com a Hotmart, estou tendo muitas dificuldades.
@DevAnalytics3 ай бұрын
Sim, é possível criar automações para a Hotmart também ;)
@orafaelgf2 жыл бұрын
Olá, não achei o vídeo que vc citou no qual vc pega o token, encapsula e depois solicita os dados. Pode colocar o link aqui por favor?
@memelribeiro3 жыл бұрын
Que video salvador da patria!!!!
@ChoraAPI3 жыл бұрын
Sensacional Rapha!!! Muito obrigado por compartilhar o que você conhece de consultas de API no Power BI. Sobre a parte da paginação, a OMIE já oferece o total de páginas na consulta, fiz uma consulta dentro da tabela de páginas para pegar o total de páginas e assim fazer o filtro das linhas antes de invocar a função.
@ChoraAPI3 жыл бұрын
@Caio Pardo Na própria consulta da API tem o número de páginas, no final.
@paulorobertocardosonogueir1723 жыл бұрын
@Caio Pardo espero que te ajude total_de_paginas = Fonte[total_de_paginas], #"Converted to Table" = Table.FromList({1..total_de_paginas}, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
@langame014 жыл бұрын
Cara parabéns estou iniciando no Power Bi...Mas você ajuda muito... Salvou .....
@digitalmente53013 жыл бұрын
muito bom!
@murilomartinsdealmeida47273 жыл бұрын
Ótimo video, didatica muito boa. me ajudou muito em um projeto que estou trabalhando aqui em meu serviço.
@DevAnalytics3 жыл бұрын
Muito obrigado, Murilo. Grande satisfação em saber que o conteúdo do canal lhe foi útil :)
@pauloricardobnu Жыл бұрын
Muito bom o vídeo. Api que estou utilizando possui Autenticação básica. Ela faz a integração com sucesso, apresenta o arquivo json. Porém ao clicar no arquivo json que voltou da integração ele pede uma autenticação. Mas já faço essa autenticação no fonte... Sabe me dizer se tem alguma outra configuração? let body = " { ""nomeMacroFuncao"" :""xpto"", ""parametros"": [""1""] }", request = Web.Contents( PATH, [ Headers=[ #"Content-type"="Application/json", Authorization = "Basic " & Binary.ToText(Text.ToBinary("usuario" & ":" & "senha"), BinaryEncoding.Base64) ], Content=Text.ToBinary(body) ] ) in request
@pauloricardobnu Жыл бұрын
Dentro das Configurações da fonte de dados, eu já coloquei o caminho como "Anônimo" e nível e privacidade Publico.
@DevAnalytics Жыл бұрын
Fala Paulo, tudo certo? Sua API é de autenticação básica, e o padrão é concatenar o valore de usuário e senha, separados por : Você até fez isso, o problema é que estes valores precisam ser encodificados em formato base64. Você pode implementar este tipo de encodificação pelo M mesmo, aí é só pesquisar por base64 power query no Google. Ou você pode simplesmente fazer isso em algum site de conversão e usar o código em base64 direto no body da requisição. Desta forma, a tela de login não irá mais aparecer ;)
@paulorobertocardosonogueir1725 жыл бұрын
Grande Raphael, boa tarde. Sou o Paulo solicitante da ajuda (mencionado no decorrer do vídeo). Gostaria de agradecer imensamente a sua colaboração e dedicação com este caso. Mais uma vez explicado com maestria, assim como seus demais vídeos, levando conhecimento e abrindo o leque de opções que esta brilhante ferramenta nos dispõe. Só tenho que agradecer de coração e dizer que pessoas como você faz a diferença no mundo do conhecimento :) Quanto ao meu desafio 27:15 (rsss) a API realmente disponibiliza a quantidade total de registros da fonte 4:56 (contida no corpo do request) conforme sugere no vídeo , abaixo os parâmetros de retorno e com isso conseguimos saber previamente a quantidade de páginas necessárias para a construção da tabela ;) "pagina": 1, "total_de_paginas": 71, "registros": 50, "total_de_registros": 3534 Mais uma vez agradeço muito a disposição em responder prontamente e desejar todo o sucesso do mundo na sua caminhada. Forte abraço e que Deus te abençoe sempre.
@DevAnalytics5 жыл бұрын
Paulo, eu que te agradeço pela confiança que depositaste no conteúdo que venho desenvolvendo. Saber que o teu problema foi resolvido, me traz uma enorme satisfação. Obrigado mais uma vez e sucesso sempre!
@MadsonBraz3 жыл бұрын
Paulo, Vc conseguiu fazer a conexão usando a URL correta do endpoint? Tendo em vista que essa usada no video é a url da página de teste da API.
@cleydsonhonorio78573 жыл бұрын
Paulo e Rafael, Vcs dois são iluminados! kkk Vou contar o que aconteceu comigo... Eu assisti este vídeo há 1 ano atrás quando eu estava aprendendo a entrar com api´s no Power Bi. Mas na época não deu certo com a api em questão que eu estava trabalhando. Hoje, após um ano, precisei de buscar as api´s do programa Omie (igual ao que o Paulo solicitou) e foi uma grande surpresa para mim. É exatamente o que eu estava quebrando a cabeça aqui para desenvolver para a empresa onde trabalho! Obrigado a vcs dois!
@paulorobertocardosonogueir1723 жыл бұрын
@@MadsonBraz Consegui sim. Você tem razão, esse endpoint é de uma api de testes. Mas eu consegui fazer a chamada apontando para a api de produção da omie. Porém aconteceu um problema recentemente, a omie entrou em contato informando que irão desabilitar dia 24/05 as requisições feitas através do método get, somente poderão ser feitas requisições com método POST. Infelizmente ainda não consegui alterar o meu código para contemplar essa mudança e o prazo está se encerrando. Se você quiser posso te mandar a URL que tenho o apontamento para produção porém no método get. Segue um exemplo para conexão: app.omie.com.br/api/v1/servicos/os/?JSON={%22call%22:%22ListarOS%22,%22app_key%22:%2238333295000%22,%22app_secret%22:%224cea520a0e2a2ecdc267b75d3424a0ed%22,%22param%22:[{%22pagina%22:1,%22registros_por_pagina%22:50,%22apenas_importado_api%22:%22N%22}]} Utilize as suas credencias para fazer o teste, as que estão contidas na URL já está com o método get bloqueado. Boa sorte por ai
@paulorobertocardosonogueir1723 жыл бұрын
@@cleydsonhonorio7857 você recebeu a notificação da omie de que não poderemos mais utilizar métodos get na requisição das APIs?
@mogcps3 жыл бұрын
Olha, muito bom, me ajudou demais. Uso OMIE também. Parabéns!
@DevAnalytics3 жыл бұрын
Muito obrigado Marcelo! Falando em conexão com a API Omie, tem vídeo novo no canal falando sobre 😉
@IvensPontes2 жыл бұрын
No response tava vindo total de páginas e total de registros
@DevAnalytics2 жыл бұрын
Exatamente, Ivens! Nos vídeos mais recentes do canal temos fluxos mais completos ;) Obrigado pelo comentário! Abs
@RodrigoZenga3 жыл бұрын
Excelente, preciso fazer isso no ADF despejando em um DW
@sergiodeoliveira54003 жыл бұрын
Cara, sensacional o conteúdo!!! Obrigado ajudou demais. Esse assunto de API não tem pra ninguém, vc é o cara. Deixar uma sugestão de video aqui, filtro dentro da consulta nula. Ex: quero trazer apenas as recebimentos com a data > que ano de 2020. Detalhe a API tras o data em format String. Vlwww abssss
@DevAnalytics3 жыл бұрын
Gratidão demais, Sergio! Anotada a dica!!! Abs!
@paulopaiva31332 жыл бұрын
tenho que ler uma api do arquivei, como posso fazer?
@DevAnalytics2 жыл бұрын
Fala Paulo, tudo certo? Então, não tem como eu te responder exatamente aqui o que deves fazer para poder ler estes dados, mas... sugiro primeiramente ler a documentação da API que esta em developers.arquivei.com.br/ Lá, podes perceber que eles pedem em cada tipo de requisição, uma quantidade de parâmetros para a consulta (ex: access_key, limit, cursor). Estes parâmetros são os mais importantes, mas existem endpoints que pedem mais coisas, por isso fique atento. Podes ler atentamente a documentação, identificar os parâmetros que precisas para o endpoint que queres pegar, e a partir daí, podes ver os vídeos que temos aqui no canal, para que seja possível montares a conexão ;) Acredito que assim, consegues ter resultado! Boa sorte ;)
@felipehenrique7983 жыл бұрын
Ola Raphael sobre o limite de paginação se colocarmos o excedente de paginas na tabela ele dará um erro. É possivel colocar uma condicional na função caso de erro não processar?
@rafaelslash20083 жыл бұрын
Estou exatamente com esse problema, tentando uma forma de fazer ficar dinâmico.
@paulorobertocardosonogueir1723 жыл бұрын
Tem como limitar sim Felipe. Armazene a quantidade total de páginas do response em uma variável e trabalhe com ela de forma dinâmica, segue um exemplo: total_de_paginas = Fonte[total_de_paginas], #"Converted to Table" = Table.FromList({1..total_de_paginas}, Splitter.SplitByNothing(), null, null, ExtraValues.Error) Espero que te ajude, boa sorte!
@paulorobertocardosonogueir1723 жыл бұрын
@@rafaelslash2008 Tem como limitar sim Felipe. Armazene a quantidade total de páginas do response em uma variável e trabalhe com ela de forma dinâmica, segue um exemplo: total_de_paginas = Fonte[total_de_paginas], #"Converted to Table" = Table.FromList({1..total_de_paginas}, Splitter.SplitByNothing(), null, null, ExtraValues.Error) Espero que te ajude, boa sorte!
@gestionproductiva12334 жыл бұрын
Gran explicación. Paso a paso. Muchas gracias.
@media.k_web2 жыл бұрын
E quando é paginado por link? Estou usando a API do Facebook e ela me retorna paginado com uma espécie de código: paging": { "cursors": { "before": "MjM4NTExNzIzMDIzOTAyMDcZD", "after": "MjM4NTExNzIyNzc1NTAyMDcZD" }, "next": "link da próxima página com o código do "after"" Seria mais fácil se paginasse por "page": "1" rsrs Queria automatizar a procura pelas próximas páginas ao invés de adicionar página por página.
@DevAnalytics2 жыл бұрын
Media K, no penúltimo vídeo do canal nos tratamos de uma API com este mesmo conceito 👍🏻👍🏻👍🏻
@haynersan5 жыл бұрын
Excelente vídeo! Super útil! Fiz uns testes variando um pouco o cenário e com a base conceitual apresentada aqui deu super certo. Parabéns pela didática, parabéns pelo conteúdo de muito valor. Continue assim.....
@rafaelcosta47345 жыл бұрын
Excelente aula. Obrigado!
@DevAnalytics4 жыл бұрын
Muito obrigado, Rafael 👊
@MikelSFraga5 жыл бұрын
Mestre Raphael, boa tarde. Realmente muito show o vídeo. Precisei de uma solução como essa a umas 3 semanas atrás e segui o mesmo padrão que mostrou aqui. Realmente muito legal. Estou curtindo muito a Language M, mais ainda sou um Padawan Uma sugestão sobre a criação da consulta com a paginação, seria criar uma consulta em branco e em Source (Fonte), entrar com o seguinte código: = Table.FromList({1..100}, Splitter.SplitByNothing(), {"Pages"}, null, ExtraValues.Error) Através da expressão {1..100}, automaticamente é criada uma listagem com a numeração 1 a 100. Usando a função Table.FromList, já converte automaticamente essa listagem em uma tabela, com a coluna nomeada como Pages. Na sequencia, é só fazer o Invoke, conforme feito no vídeo. Raphael, excelente aula. Uma sugestão, se for conveniente, seria uma playlist focada em Language M, especificamente no esquema de criação de funções. Acho que seria muito legal. Parabéns mais uma vez e excelente semana.
@DevAnalytics5 жыл бұрын
Mikel S Fraga, muito obrigado por sua contribuição aqui no canal. Ótima dica sobre a criação da tabela para fazer a paginação. Inclusive, se a API tiver um endPoint para pegar o total de registros da base, seria totalmente viável a automatização deste step, seguindo o seu exemplo 😉 Eu tenho muita vontade de criar uma playlist somente sobre M Language e fico feliz em saber que há pessoas interessadas neste assunto! Mais uma vez muito obrigado! Um forte abraço!!!
@gdecome4 жыл бұрын
@@DevAnalytics Se não estou enganado você tem a informação da quantidade de registros no arquivo pra fazer a paginação. Ver video no minuto 17:30
@gpcon.4 жыл бұрын
Ótimo video! Sou contador e conheço bem o Omie é um ótimo produto mas infelizmente quando o tema é out put de informação eles pecam bastante. Esse video é melhor inclusive que o próprio material da Omie sobre Api. Parabéns!
@jimmyni19835 жыл бұрын
Excelente tutorial! Caraaaaacaaa! Muito bommmm! Parabéns novamente Raphael! Jedi! Forte abraço.
@DevAnalytics5 жыл бұрын
Jimmy, valeu mokeredo! 👊👊👊
@ednaldomar24422 жыл бұрын
Na chamada de dados em uma API do tipo POST no POWER BI, apresentou a seguinte falha: " (400): Bad Request". Onde pode está a falha? ESTRUTURA: let body = "[ { ""ValorStr"":""null"", ""Descricao"":""DataIni"", ""ValorDate"":""2022-08-01T00:00:00-03:00"", ""ValorNum"":""null"" }, { ""ValorStr"":""null"", ""Descricao"":""DataFim"", ""ValorDate"":""2022-08-02T23:59:59-03:00"", ""ValorNum"":""null"" }, { ""ValorStr"":""2"", ""Descricao"":""Até"", ""ValorDate"":""null"", ""ValorNum"":""null"" } ]", request = Json.Document( Web.Contents( url, [ Headers= [ #"Content-Type"="application/json", #"Authorization" = Bearer_Token ], #"Content" = Text.ToBinary(body) ] ) ) in request
@DevAnalytics2 жыл бұрын
Fala Ednaldo, tudo certinho? Dei uma olhada no seu exemplo e percebi que o Parâmetro Content estava desta forma #"Content" = Text.ToBinary(body), mas o correto seria sem o #"", ficando apenas Content = Text.To.... Além disso, sugiro usar a função Json.FromValue para deixar o body mais limpo. Seu exemplo ficaria assim: let body = Json.FromValue({ [ ValorStr = "null", Descricao = "DataIni", ValorDate = "2022-08-01T00:00:00-03:00", ValorNum = "null" ], [ ValorStr = "null", Descricao = "DataFim", ValorDate = "2022-08-02T23:59:59-03:00", ValorNum = "null" ], [ ValorStr = "2", Descricao = "Até", ValorDate = "null", ValorNum = "null" ] }), request = Json.Document( Web.Contents( url, [ Headers = [ #"Content-Type" = "application/json", Authorization = Bearer_Token ], Content = body ] ) ) in request Desta forma, você não precisa usar o Text.ToBinary(body), colocando apenas body mesmo ;) Espero te lhe ajudado! Abração!
@ednaldomar24422 жыл бұрын
@@DevAnalytics boa noite. Fico grato pelo retorno e as orientações. Então, mesmo com as dicas, continua dando o mesmo erro. Referente aos Headers (QUE PODE SER ONDE EU ESTOU ERRANDO), a documentação pede o seguinte: Hearders Authorization bearer xxx.xxxx.xxx, Accept application/vnd.api+json, Content-Type application/vnd.api+json
@thiagochaves16333 жыл бұрын
Muito bacana Raphael, consegui acompanhar e entender perfeitamente o vídeo. Esbarrei num ponto, de que forma vc conectou as credenciais no pbi?
@DevAnalytics3 жыл бұрын
Fala Thiago, beleza? Eu conectei basicamente usando as credenciais em parâmetros do power bi e usando o tipo anonymous no Power BI serviço! Forte abraço!
@rafaelslash20083 жыл бұрын
@@DevAnalytics Aqui antes estava funcionando normalmente como anonymous, mas agora não tá aceitando mais... deve ter sido alguma atualização? Fica dando o seguinte erro: DataSource.Error: Os dados baixados são HTML, que não é um tipo esperado. A URL pode estar incorreta, ou talvez você não tenha fornecido as credenciais corretas ao servidor.
@davidpanduro78913 жыл бұрын
@@rafaelslash2008 Também estou com esse problema...a minha conexão funcionava perfeitamente, até que desde o 29/04 não atualiza mais. Resulta que foi uma adequação a LGPD, uma segurança a mais pra proteger o app key e app secret. O grande problema é que não sei como resolver. Rapha, salva a gente!
@davidpanduro78913 жыл бұрын
@@rafaelslash2008 inclusive tentei com a conexão básica colocando meu user e senha do OMIE mas ai a resposta é: "Erro na consulta ‘requestNFSEs’. DataSource.Error: Há suporte para Web.Contents com a opção Content somente durante uma conexão anônima".
@DevAnalytics3 жыл бұрын
Pessoal, houve uma alteração na plataforma da Omie, onde existiam duas formas de conexão. A que usamos foi bloqueada, por isso é necessário migrar a forma desta conexão. Eu estou vendo para criar um vídeo, explicando estas alterações 👍
@edirlopeslima75563 жыл бұрын
Bom dia, parabéns pelos vídeos, tem como conectar com as APIs do Mercado Livre, B2W e MagaLu?
@DevAnalytics3 жыл бұрын
Muito obrigado, Edir! Anotada as dicas ;)
@alessandrolino4 жыл бұрын
Muito bom parabéns!!
@janquieldapper4 жыл бұрын
Olá amigo... o powerbi já tem novos métodos para conectar a API's (json)?
@jaasiellima57833 жыл бұрын
Olá, Irmão! Acaso eu queira programar uma atualização automática no Service como faz pra inserir credenciais quando a API não é aberta, ou seja, eu abri com um tokem no desktop mas está dando problema pois não consegui inserir credenciais se é do tipo Basic, windowswithoutlmpersonation pois eu sei que anonymous não é, favor! pode ajudar?
@DevAnalytics3 жыл бұрын
Fala Jaasiel! Por incrível que possa parecer, conexões em APIS que levam as credenciais na requisição (seja elas no body ou header) devem ter o tipo anonymous ;)
@jaasiellima57833 жыл бұрын
@@DevAnalytics grato pelo retorno, já havia conseguido, de toda sorte, agradeço!
@JulivanLopes2 жыл бұрын
Muito bom o vídeo. Um dos vídeos raros sobre o assunto , parabéns por trazer conteudo tao detalhado. Agora uma curiosidade, quando vc coloca varias etapas dentro da Função, seria para ganhar em performance? tem alguma diferença nesse caso? Um abraço!
@DevAnalytics2 жыл бұрын
Muito obrigado, Julivan! Sobre a curiosidade, no caso específico as etapas não fariam muita diferença em termos de performance, embora em outros casos (transformação de dados) isso seja uma verdade. Se observares nos vídeos mais novos do canal, eu introduzo o conceito de uso de funções, que ao meu ver, torna o processo muito mais escalável 👍🏻👍🏻👍🏻
@wanderleypinheiro88684 жыл бұрын
Raphael muito bom, consegui fazer, porem pensando na situação da paginação, no postman ele tras a informação de total_de_paginas, assim como total de registros... será que não consegue dar mais uma olhada para fazermos funcionar tudo?? grande abraço e parabéns...
@gianrieffel4 жыл бұрын
Eu também fiquei bem curioso em como deixar a quantidade de páginas de forma dinâmica
@paulorobertocardosonogueir1723 жыл бұрын
@@gianrieffel espero que te ajude total_de_paginas = Fonte[total_de_paginas], #"Converted to Table" = Table.FromList({1..total_de_paginas}, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
@wasleysanttos4 жыл бұрын
Tem algum vídeo com oauth 1 usando authorization ?
@Katsunay3 жыл бұрын
Nossa, obrigadíssimo pelo conteúdo, está me ajudando muito em um projeto!! Uma dúvida que eu tenho é sobre a requisição em si.. O endpoint vai receber a requisição de onde? do servidor do PBI, do meu pc? E em relação ao conteúdo que foi scrapado, tem algum limite de tamanho pra armazenamento? É possível encaminhar esse conteúdo pra um banco de dados? Valeu!!!!
@DevAnalytics3 жыл бұрын
Muito obrigado tmbm Júlio. Sobre a sua dúvida, se a consulta estiver rodando no Power BI serviço, a requisição partirá de lá (seja qual VM estiver rodando o seu serviço na Azure, coisa que só a microsoft sabe rsrsrsrsrs). Agora, se estiveres rodando de um .pbix na sua máquina, as requisições sairão dela. Sobre o limite de armazenamento, no Power BI Desktop é o limite que a sua máquina comportará, já no Power BI Serviço, o limite será o que o tipo da sua licença permitir (1GB para PRO, 100GB para PPU, e para o premium por capacity é a própria capacity). Não creio que seja possível (ou recomendado) gravar dados no banco através de uma conexão com o Power BI
@caiocaixe89404 жыл бұрын
Blz Raphael? recebi um endpoint, um token e uma instancia, para uma requisição tipo get. como faço para conectar e consumir esses dados?
@DevAnalytics4 жыл бұрын
Fala Caio! Tudo certo? Então, normalmente o token pode ser passado via headers da requisição, ou via query params. Basta criar uma conexão "Obter dados da Web", selecionar a opção Avançadas e lá colocar o endpoint, os headers e query params. Ou se preferires ir mais para o caminho hardcore (o que eu mais gosto rsrsrsrs), vc pode criar uma consulta nula e lá usar a função Web.Contents, passando o token. Fazendo isso, você conseguirá obter os dados ;)
@rafaelrafa43924 жыл бұрын
Rapahel boa tarde, gostaria de conectar o power bi com uma base de dados de um sistema online, o sistema é online, porém quando tento extrair a base de dados dele, deixa pra mim a tela de login e não a tela onde tenho a tabela de dados. Poderia me ajudar por favor??
@maurelior684 жыл бұрын
Rafael boa noite!!! Muito bom seu vídeo! Consegui perfeitamente acessar a API do Omie ! Apenas busquei uma outra tabela! Queria tirar uma dúvida com você! Essa foi uma API de teste! Para conectar na base de dados de produção para buscar os dados reais, preciso de uma API com credenciais de acesso a minha base?
@DevAnalytics4 жыл бұрын
Obrigado, Março! Sim, para vc consumir os dados reais da Omie, vc precisa ser cliente e obter as credenciais de acesso a API de produção deles 👍
@raphaelbonillo21924 жыл бұрын
Acredito que se houver um Pop-up para login esse método não funcione e precise de alterações.
@fernando63514 жыл бұрын
Sensacional! Muito obrigado pelo conteúdo, porém, nos 45min do segundo tempo deu um erro que não consigo solucionar ([Expression.Error] A coluna 'Column1' da tabela não foi encontrada.). Como eu resolvo isso?
@leandrofelipetec4 жыл бұрын
Boa tarde, Raphael! Obrigado pelas dicas, muito top! Estou com uns erros insanos por aqui, não consigo conectar a minha "API REST WSPOT 1." no power bi, já fez algo do tipo? Abraços
@gianrieffel4 жыл бұрын
Olá Raphael, muito obrigado por isso, fazia tempo que eu estava tentando. Olha como eu consegui pra deixar o número de páginas dinâmico: Eu peguei a primeira importação que tu fizeste, transformei em tabela, filtrei a linha da quantidade de linhas e transformei o valor numa lista, tudo isso dentro de uma variável. Com essa variável eu usei a function List.Numbers, iniciando em um e com incremento (total de linhas) Aí depois só expandi conforme tu ensinou. let Fonte = let #"Listar Clientes" = Json.Document(Web.Contents("app.omie.com.br/api/v1/geral/clientes/?JSON={""call"":""ListarClientes"",""app_key"":""1560731700"",""app_secret"":""226dcf372489bb45ceede61bfd98f0f1"",""param"":[{""pagina"": 1 ,""registros_por_pagina"": " & limit & ",""apenas_importado_api"":""N""}]}" ) ), #"Convertido para Tabela" = Record.ToTable(#"Listar Clientes"), #"Linhas Filtradas" = Table.SelectRows(#"Convertido para Tabela", each ([Name] = "total_de_paginas")), Value1 = #"Linhas Filtradas"{0}[Value], lista = List.Numbers (1, Value1) in lista, #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela",{{"Column1", "Lista"}}), #"Função Personalizada Invocada" = Table.AddColumn(#"Colunas Renomeadas", "request", each request([Lista])), #"request Expandido" = Table.ExpandTableColumn(#"Função Personalizada Invocada", "request", {"bairro", "bloquear_faturamento", "cep", "cidade", "cidade_ibge", "cnae", "cnpj_cpf", "codigo_cliente_integracao", "codigo_cliente_omie", "codigo_pais", "complemento", "contato", "contribuinte", "email", "endereco", "enderecoEntrega", "endereco_numero", "estado", "exterior", "inativo", "info", "inscricao_estadual", "inscricao_municipal", "nome_fantasia", "observacao", "optante_simples_nacional", "pessoa_fisica", "produtor_rural", "razao_social", "recomendacoes", "tags", "tipo_atividade", "telefone1_ddd", "telefone1_numero", "telefone2_ddd", "telefone2_numero"}, {"bairro", "bloquear_faturamento", "cep", "cidade", "cidade_ibge", "cnae", "cnpj_cpf", "codigo_cliente_integracao", "codigo_cliente_omie", "codigo_pais", "complemento", "contato", "contribuinte", "email", "endereco", "enderecoEntrega", "endereco_numero", "estado", "exterior", "inativo", "info", "inscricao_estadual", "inscricao_municipal", "nome_fantasia", "observacao", "optante_simples_nacional", "pessoa_fisica", "produtor_rural", "razao_social", "recomendacoes", "tags", "tipo_atividade", "telefone1_ddd", "telefone1_numero", "telefone2_ddd", "telefone2_numero"}) in #"request Expandido"
@wctins4 жыл бұрын
O meu não funcionou desse jeito. Deu erro de request. O teu está de boa?
@vitoramarante26944 жыл бұрын
@@wctins Eu tive um problema na hora do request, como se a tipagem do dado ficasse diferente.
@henriquesalesleite16534 жыл бұрын
Muito bom o video, me ajudou bastante. Será que vc sabe alguma solução para aplicar esta mesma ideia no Power Query no Excel ? Tentei aqui e deu "Expression.Error: A avaliação resultou em estouro da pilha e não pôde continuar." Se puder me ajudar eu agradeço muito.
@4man1doll4 жыл бұрын
esstou tentando obter um token para deletar dados de um dataset docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets/datasets_deleterows usando uso a API Rest do Power Bi, porem não consigo de forma alguma dar um refresh no token ou mesmo obter um token valido, consegue me ajudar ?
@fabiorony54113 жыл бұрын
fala Dr, como posso passar este body la no consulta nula? estou tentando adaptar mais ainda vem dando erro. segue body abaixo: api-dw.bseller.com.br/webquery/execute/SIGEQ280 "P_ID_CIA":11422, "DT_INICIO":"01/11/2020", "DT_FIM":"05/11/2020", "P_ID_FILIAL":1, "P_ID_ORIGEM": null, "P_ID_SITUACAO": null, "P_UNINEG": null
@DevAnalytics3 жыл бұрын
Fala @Liga da Maromba! O body pode ter sua estrutura criada através de uma variável, onde cada chave do json ou valor fiquem entre dois pares de aspas duplas (ex: ""P_ID_CIA""). Já na requisição, você deverá usar o prefixo Content para encapsular o body. Ps: inclua o body usando a função Text.ToBinary ;)
@fabiorony54113 жыл бұрын
let body = "{ ""P_ID_CIA"":""11422"", ""DT_INICIO"":""07/12/2020"", ""DT_FIM"":""07/12/2020"", ""P_ID_FILIAL"":""1"" ""P_ID_ORIGEM"": ""null"", ""P_ID_SITUACAO"": ""null"", ""P_UNINEG"": ""null"" }", request = Json.Document( Web.Contents( path, [ Headers=[#"X-Auth-Token"="kdsjfsjkdfjbfjdbjldbvdbvfdb"], Content=Text.ToBinary(body) ] )) in request ===================================================================== apresenta este erro :( DataSource.Error: Falha no Web.Contents ao obter conteúdo de 'api-dw.bseller.com.br/webquery/execute/SIGEQ280' (415): Detalhes: DataSourceKind=Web DataSourcePath=api-dw.bseller.com.br/webquery/execute/SIGEQ280 Url=api-dw.bseller.com.br/webquery/execute/SIGEQ280
@adriel07925 жыл бұрын
Muito incrível, porém a minha API trabalha com paginação automática (a cada inserção de dado dos colaboradores ela aumenta). Ou seja, você insere a TimeStamp que deseja, ela traz 50 paginações e para aonde dá. Não consegui criar um estrutura para inserir a paginação seguinte e assim ir alimentando os dados que sempre aumentam, consegue me ajudar?
@paulorobertocardosonogueir1723 жыл бұрын
Adriel, veja se no retorno do response tem a quantidade total de páginas, caso haja, você pode utilizar este trecho de código para ajudar na paginação dinâmica: total_de_paginas = Fonte[total_de_paginas], #"Converted to Table" = Table.FromList({1..total_de_paginas}, Splitter.SplitByNothing(), null, null, ExtraValues.Error) Espero que te ajude