Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Ayuda con Custom Connector

Hola a todos

Soy un novato con Power BI, estoy tratando de configurar un conector personalizado, pero está siendo todo un desafío hasta ahora, mi objetivo es primero autenticarse en la API y luego recuperar informes, pero estoy recibiendo un error "El nombre DataWorldSwagger.Contents no fue reconociendo".

Aquí está el código:

query.pq

let
    result = DataWorldSwagger.Contents()
in
    result

por qué

// This file contains your Data Connector logic
section DataWorldSwagger;

[DataSource.Kind="DataWorldSwagger", Publish="DataWorldSwagger.Publish"]
shared DataWorldSwagger.Contents = () =>
let
   token = TokenMethod(),
   // get reports
   Data2 = Web.Contents("https://xxx:8002/v1/reports",[Headers=[#"Authorization" = "Bearer " & token,#"Content-type" = "application/x-www-form-urlencoded",#"Accept" = "application/json"]]),
   DataRecord = Json.Document(Data2),
   //token = Json.Document(Data)[token],
   Source= DataRecord 
in
   Source;

// Data Source Kind description
DataWorldSwagger = [
TestConnection = (dataSourcePath) => { "DataWorldSwagger.Contents", dataSourcePath },
    Authentication = [
        Anonymous = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

// Data Source UI publishing description
DataWorldSwagger.Publish = [
    Beta = true,
    Category = "Other",
    ButtonText = { Extension.LoadString("ButtonTitle"), Extension.LoadString("ButtonHelp") },
];


TokenMethod = () =>
let
   // get token
   body = "username=admin&password=xxx",
   Data= Web.Contents("https://xxx:8002/v1/auth/token?app=",[Content=Text.ToBinary(body),Headers=[#"Content-type" = "application/x-www-form-urlencoded",#"Accept" = "application/json"]]),
   //DataRecord = Json.Document(Data),
   token = Json.Document(Data)[token],
   Source= token 
in
   Source;

Toda la ayuda es apreciada,

Gracias de antemano,

No Replies