I am trying to connect Pipefy and PBI, with the power Query and a GraphQL API, but i cant find the right URL to put in. It keep me returning the error 400 or 404.
May someone help me?
Português
Olá,
Estou tentando conectar o Pipefy e o PowerBI através do Power Query e uma API de GraphQL, porém as URLs sempre dão erro 404 ou 400.
Alguém sabe me ajudar?
Page 1 / 1
Olá, tudo bem?
Bom, uma API GRAPHQL não existe PUT, existe apenas POST passando uma mutation para fazer a atualização.
Usando esta URL no PowerQuery do PowerBI, eu obtenho o seguinte retorno
DataSource.Error: Falha no Web.Contents ao obter conteúdo de 'https://app.pipefy.com/graphiql' (400): Bad Request Detalhes: DataSourceKind=Web DataSourcePath=https://app.pipefy.com/graphiql Url=https://app.pipefy.com/graphiql
Aparentemente a requisição de não funciona da maneira correta.
Estou usando o código abaixo na linguagem M para fazer a requisição, eu acho muito estranho que quando eu testo a Query na IDE, eu tenho o retorno que eu quero.
{ pipe(id: ****) { id name phases { id name cards { edges { node { id title } } } } } } ""}"),
Source = Web.Contents(vUrl, #"JSON" = Json.Document(Source) in #"JSON"
Obrigado pela atenção e tempo
@tsartori você já tentou usar o módulo de integração?
É bem simples de usar. Segue link de artigo relacionado para que você possa baixa o módulo/conector:
A resposta do Felipe tem as orientações para as duas formas de conexão.
At.te.
Democh
@Lucas Democh
Opa tudo bem?
Valeu pela resposta, já tentei usar o módulo sim, mas como a fonte de dados não é autenticada a atualização automática fica desabilitada, tirando o fato que o código do integrador nao permite incremento, ou seja, ele baixa toda DB todas as vezes, resultado em atualizações muito demoradas. Mas obrigado mesmo assim, acabei codando os requests de graphql em python e exportando.
@tsartori você já tentou usar o módulo de integração?
É bem simples de usar. Segue link de artigo relacionado para que você possa baixa o módulo/conector:
A resposta do Felipe tem as orientações para as duas formas de conexão.
At.te.
Democh
Opa tudo bem?
Valeu pela resposta, já tentei usar o módulo sim, mas como a fonte de dados não é autenticada a atualização automática fica desabilitada, tirando o fato que o código do integrador nao permite incremento, ou seja, ele baixa toda DB todas as vezes, resultado em atualizações muito demoradas. Mas obrigado mesmo assim, acabei codando os requests de graphql em python e exportando.
@tsartori você já tentou usar o módulo de integração?
É bem simples de usar. Segue link de artigo relacionado para que você possa baixa o módulo/conector:
A resposta do Felipe tem as orientações para as duas formas de conexão.
At.te.
Democh
Opa tudo bem?
Valeu pela resposta, já tentei usar o módulo sim, mas como a fonte de dados não é autenticada a atualização automática fica desabilitada, tirando o fato que o código do integrador nao permite incremento, ou seja, ele baixa toda DB todas as vezes, resultado em atualizações muito demoradas. Mas obrigado mesmo assim, acabei codando os requests de graphql em python e exportando.
Poderia compartilhar o código conosco ?
Tentei baixar o conector mas está bloqueado no drive
Claro @joaogalhardo
import requests
import json
#Onde o scrip fará o request
url = "https://api.pipefy.com/graphql"
#Os parametros de autorização
headers = {
"Accept": "application/json",
"Authorization": "Bearer SEU TOKEN DE AUTORIZAÇÃO AQUI",
A sua query não pode conter nenhum tipo de string dentro dela, exemplo: after: String (after:"Wq”). Isso gera um problema gigante quando você precisa fazer paginação no Power BI e ainda não conseguir resolver isso.
Toda a sua query precisa estar na mesma linha, sem Enter e sem Tab. Usando o seu exemplo a query ficaria assim. Exemplo: query = "{""query"" : ""{ pipe(id:****) { id name phases { id name cards { edges { node { id title }}}}}}""}"
let query = "{""query"" : ""{ pipe(id:****) { id name phases { id name cards { edges { node { id title }}}}}}""}", authURL = “https://app.pipefy.com/graphql”, getToken = Web.Contents( authURL, r Headers= #"Method" = "POST", #"Accept" = "application/json", #"Authorization" = token, #"Content-Type" = "application/json; charset=utf-8" ], Content=Text.ToBinary(query) ] ), pipefyResponse = Json.Document(getToken) in pipefyResponse
Bom dia a todos,
Nosso colaborador Pedro Kronberg aqui da Market4u.com.br conseguiu escrever um script para importar os cards. Basta fazer uma Consulta Nula no Power Query e depois colar o codigo abaixo no editor avançado. As duas primeiras linhas são onde deve informar sua chave da API e o pipe a puxar.
Parte feita foi usando o codigo do @cleanto-amorim
let TOKENAUTH = "Bearer xxxxxxxx", // Inserir sua Chave da API PipeAnalisado = "xxxxxxxxxx", // Usar os numeros que seguem depois da URL: https://app.pipefy.com/pipes/______
GeradorDeCards = (TOKENAUTH as text, PRIMEIROCARD as text) => let query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PRIMEIROCARD &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } parent_relations { cards { id }} current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { name report_value updated_at } } } } }""}", authURL = "https://app.pipefy.com/graphql", getToken = Web.Contents( authURL,